【发布时间】:2020-12-09 06:40:58
【问题描述】:
我有一个如下所示的数据框:
date data
2013-09-03 10
2013-09-04 9
2013-10-03 14
2014-09-02 13
2015-08-07 12
2016-09-02 17
然后我应用下面的代码只选择第 9 个月
import pandas as pd
import datetime as dt
df= df[df['Date'].dt.month == 9] # select only the 9th month
这让我得到以下信息:
date data
2013-09-03 10
2013-09-04 9
2014-09-02 13
2016-09-02 17
但我要创建的是每次选择第 9 个月时的一列,因此 它可以成为一个单独的列:
date data 2013 2014 2016
2013-09-03 10 10
2013-09-04 9 9
2014-09-07 13 13
2016-09-08 17 17
我想我必须在 for 循环中使用 dt.year 函数来为每年创建一个列,但我认为 pandas 中可能有更简单的解决方案?
【问题讨论】:
标签: python arrays pandas datetime time