在0.15.0中,您将可以使用新的.dt访问器在语法上做到这一点。
In [36]: df = Dataframe(date_range('20000101',periods=150000,freq='H'),columns=['Date'])In [37]: df.head(5)Out[37]: Date0 2000-01-01 00:00:001 2000-01-01 01:00:002 2000-01-01 02:00:003 2000-01-01 03:00:004 2000-01-01 04:00:00[5 rows x 1 columns]In [38]: %timeit f(df)10 loops, best of 3: 22 ms per loopIn [39]: def f(df): df = df.copy() df['Year'] = DatetimeIndex(df['Date']).year df['Month'] = DatetimeIndex(df['Date']).month df['Day'] = DatetimeIndex(df['Date']).day return df ....:In [40]: f(df).head()Out[40]: Date Year Month Day0 2000-01-01 00:00:00 2000 1 11 2000-01-01 01:00:00 2000 1 12 2000-01-01 02:00:00 2000 1 13 2000-01-01 03:00:00 2000 1 14 2000-01-01 04:00:00 2000 1 1[5 rows x 4 columns]
从0.15.0开始(于2014年9月发布),现在可以使用新的.dt访问器进行以下 *** 作:
df['Year'] = df['Date'].dt.yeardf['Month'] = df['Date'].dt.monthdf['Day'] = df['Date'].dt.day
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)