pandas dataframeの 'date'列から年/日/月の情報を抽出しようとしています。サンプルコードは次のとおりです:
from datetime import datetime
def date_split(calendar):
for row in calendar:
new_calendar={}
listdate=datetime.strptime(row['date'],'%Y-%M-%D')
完全なコードは完成していませんが、この部分をテスト実行すると、次のようなエラーが発生し続けます。
----> 7 listdate=datetime.strptime(row['date'],'%Y-%M-%D')
TypeError: string indices must be integers
誰かが何か考えがありますか?
ところで、これは私が使用するデータフレームです(calendar_data):
必要なようです to_datetime
:
print (df['date'].dtype)
object
df['date'] = pd.to_datetime(df['date'])
print (df['date'].dtype)
datetime64[ns]
必要に応じて、新しい列に year
、 month
および day
を抽出します。
df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month
df['day'] = df['date'].dt.day
必要な場合list
of date
s:
listdate = df['date'].dt.date.tolist()
print (listdate)
[datetime.date(2017, 9, 5),
datetime.date(2017, 9, 4),
datetime.date(2017, 9, 3),
datetime.date(2017, 9, 2),
datetime.date(2017, 9, 1)]