繁体   English   中英

从一个Pandas列中提取的多个列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM