3

大きな 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'
4

2 に答える 2