1. ホーム
  2. python

[解決済み] python pandas インデックスからdatetimeへの変換

2022-12-17 02:33:56

質問

pandasの文字列インデックスをdatetime形式に変換するにはどうすればよいですか?

私のデータフレーム'df'は以下のようなものです。

                     value          
2015-09-25 00:46    71.925000
2015-09-25 00:47    71.625000
2015-09-25 00:48    71.333333
2015-09-25 00:49    64.571429
2015-09-25 00:50    72.285714

しかし、インデックスは文字列型ですが、エラーが発生するため、datetimeのフォーマットが必要です。

'Index' object has no attribute 'hour'

を使用する場合

 df['A'] = df.index.hour

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

期待通りに動作するはずです。次の例を実行してみてください。

import pandas as pd
import io

data = """value          
"2015-09-25 00:46"    71.925000
"2015-09-25 00:47"    71.625000
"2015-09-25 00:48"    71.333333
"2015-09-25 00:49"    64.571429
"2015-09-25 00:50"    72.285714"""

df = pd.read_table(io.StringIO(data), delim_whitespace=True)

# Converting the index as date
df.index = pd.to_datetime(df.index)

# Extracting hour & minute
df['A'] = df.index.hour
df['B'] = df.index.minute
df

#                          value  A   B
# 2015-09-25 00:46:00  71.925000  0  46
# 2015-09-25 00:47:00  71.625000  0  47
# 2015-09-25 00:48:00  71.333333  0  48
# 2015-09-25 00:49:00  64.571429  0  49
# 2015-09-25 00:50:00  72.285714  0  50