【发布时间】:2020-01-06 12:44:20
【问题描述】:
df
Year Month Name Avg
2015 Jan 12
2015 Feb 13.4
2015 Mar 10
...................
2019 Jan 11
2019 Feb 11
代码
df['Month Name-Year']= pd.to_datetime(df['Month Name'].astype(str)+df['Year'].astype(str),format='%b%Y')
在数据帧 df 中,groupby 输出 avg 位于键月份名称和年份上。所以月份名称和年份实际上是多级索引。我想创建第三列 Month Name Year 以便我可以使用数据进行一些操作(创建绘图等)。
我使用代码得到的输出如下:
Year Month Name Avg Month Name-Year
2015 Jan 12 2015-01-01
2015 Feb 13.4 2015-02-01
2015 Mar 10 2015-03-01
...................
2019 Nov 11 2019-11-01
2019 Dec 11 2019-12-01
等等。
我想要的输出是 Month Name-Year 列中的 2015-Jan、2015-Feb 等...或者我想要 2015-01、2015-02...2019-11、2019-12 等(只有年份和月,没有天)。
请帮忙
【问题讨论】:
-
pd.to_datetime(df['Month Name'].astype(str)+df['Year'].astype(str),format='%b%Y').dt.strftime('%Y-%b')? -
成功了,请输入答案