[英]Multiple columns extracted from one Pandas column
我的Pandas数据框中有一个(已解析的)datetime列。 我现在需要根据这一列生成多个列,一个列有年份,一个列有月份,小时,星期几等。 我目前正在做一些个人应用,但它是一个大型数据集,我多次迭代df。 有没有更好的模式来实现这一目标? 应用程序可以返回一个数据帧然后粘贴在它后面吗?
如果dtype
已经是datetime
那么你可以使用vectorised datetime访问器dt
来添加列:
In [11]:
df = pd.DataFrame({'date':pd.date_range(dt.datetime(2016,1,1), end = dt.datetime(2016,1,10))})
df
Out[11]:
date
0 2016-01-01
1 2016-01-02
2 2016-01-03
3 2016-01-04
4 2016-01-05
5 2016-01-06
6 2016-01-07
7 2016-01-08
8 2016-01-09
9 2016-01-10
In [13]:
df['year'],df['month'],df['day'], df['day_of_week'] = df['date'].dt.year, df['date'].dt.month, df['date'].dt.day, df['date'].dt.dayofweek
df
Out[13]:
date year month day day_of_week
0 2016-01-01 2016 1 1 4
1 2016-01-02 2016 1 2 5
2 2016-01-03 2016 1 3 6
3 2016-01-04 2016 1 4 0
4 2016-01-05 2016 1 5 1
5 2016-01-06 2016 1 6 2
6 2016-01-07 2016 1 7 3
7 2016-01-08 2016 1 8 4
8 2016-01-09 2016 1 9 5
9 2016-01-10 2016 1 10 6
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.