1. ホーム
  2. python

[解決済み] 列を日付形式に変換する (Pandas Dataframe)

2022-09-14 13:23:11

質問

以下のようなpandasのdataframeがあります。

Symbol  Date
A       02/20/2015
A       01/15/2016
A       08/21/2015

でソートしたい。 Date で並べ替えたいのですが、カラムは単なる object .

カラムを日付オブジェクトにしようとしましたが、そのフォーマットが必要なフォーマットでないという問題にぶつかりました。必要な書式は 2015-02-20, などです。

そこで今、私はnumpyに「アメリカの」日付をISO標準に変換させ、日付オブジェクトを作成し、それでソートできるようにする方法を考えようとしています。

どのようにアメリカの日付をISO標準に変換するのでしょうか、それともpandas内で私が見逃しているもっと簡単な方法があるのでしょうか?

どのように解決するのですか?

この場合 pd.to_datetime() を使うと、datetimeオブジェクトに変換できます。これはformatパラメータを取りますが、あなたの場合、それは必要ないと思います。

>>> import pandas as pd
>>> df = pd.DataFrame( {'Symbol':['A','A','A'] ,
    'Date':['02/20/2015','01/15/2016','08/21/2015']})
>>> df
         Date Symbol
0  02/20/2015      A
1  01/15/2016      A
2  08/21/2015      A
>>> df['Date'] =pd.to_datetime(df.Date)
>>> df.sort('Date') # This now sorts in date order
        Date Symbol
0 2015-02-20      A
2 2015-08-21      A
1 2016-01-15      A

将来の検索のために、ソート文を変更することができます。

>>> df.sort_values(by='Date') # This now sorts in date order
        Date Symbol
0 2015-02-20      A
2 2015-08-21      A
1 2016-01-15      A