gpt4 book ai didi

python - 从一根 Pandas 列中提取多列

转载 作者:行者123 更新时间:2023-11-30 22:55:26 25 4
gpt4 key购买 nike

我的 Pandas 数据框中有一个(已解析的)日期时间列。我现在需要基于这一列生成多列,一列包含年份,一列包含月份、小时、星期几等等。我目前正在做一些单独的应用,但它是一个很大的数据集,我正在多次迭代 df 。有没有更好的模式来实现这一点? apply 可以返回一个数据框,然后将其粘贴到其后面吗?

最佳答案

如果dtype已经是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

关于python - 从一根 Pandas 列中提取多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37432052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com