大きな pandas DataFrame (約 1050000 エントリ) があります。列の 1 つはタイプdatetime
です。年、月、曜日を抽出したい。問題は、以下に示すコードが非常に遅いことです。
df['Year'] = pd.DatetimeIndex(df.Date).year
df['Month'] = pd.DatetimeIndex(df.Date).month
df['Weekday'] = pd.DatetimeIndex(df.Date).weekday
アップデート:
データは次のようになります。
Id DayOfWeek Date
0 1 5 2015-07-31
1 2 4 2015-07-30
2 3 3 2015-07-29
3 4 2 2015-07-28
4 5 1 2015-07-27
私がこのようにすると:
df = pd.read_csv("data.csv", parse_dates=[2])
df['Year'] = pd.to_datetime(df['Date']).year
df['Month'] = pd.to_datetime(df['Date']).month
df['Weekday'] = pd.to_datetime(df['Date']).weekday
エラーは次のとおりです。
AttributeError: 'Series' object has no attribute 'year'