1. ホーム
  2. python

[解決済み] pandas で series を使って datetime を文字列に変換する。

2022-03-02 02:58:10

質問

こんな簡単なものを作りたいのですが。

dates = p.to_datetime(p.Series(['20010101', '20010331']), format = '%Y%m%d')
dates.str

でも、エラーが出るんです。からどのように変換すればよいのでしょうか? datetime から string ?

解決方法は?

はありません。 str アクセサを使用することはできません。 dates.astype(str) を呼び出すことができます。 apply を使用し datetime.strftime :

In [73]:

dates = pd.to_datetime(pd.Series(['20010101', '20010331']), format = '%Y%m%d')
dates.apply(lambda x: x.strftime('%Y-%m-%d'))
Out[73]:
0    2001-01-01
1    2001-03-31
dtype: object

日付文字列の書式は、好きなものを使って変更することができます。 strftime()とstrptime()の動作について .

更新情報

バージョン時点 0.17.0 を使用すると、このようなことができます。 dt.strftime

dates.dt.strftime('%Y-%m-%d')

が動作するようになります。