首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在pandas中创建mm-yyyy列?

如何在pandas中创建mm-yyyy列?
EN

Stack Overflow用户
提问于 2019-02-21 14:50:19
回答 1查看 539关注 0票数 3

有没有办法从datetime变量中提取mm-yyyy (甚至四分之一-yyyy)信息?

我的datetime列是df‘’event‘,它是一个dd-mm-yyyy。我知道我可以从我的变量中提取mm和year,但是有没有一种方法可以把这两者结合起来呢?

我可以将我的数据重新采样到每月的频率,但这样我就只能得到我的兴趣变量的平均值,而我想保留我所有的观察结果。

EN

回答 1

Stack Overflow用户

发布于 2019-02-21 14:52:05

您可以将Series.dt.to_period用于月份或季度期间:

代码语言:javascript
运行
复制
df = pd.DataFrame({'event':['01-01-2015','02-05-2015','01-08-2016','01-11-2015']})

df['event'] = pd.to_datetime(df['event'], dayfirst=True)

df['months'] = df['event'].dt.to_period('M')
df['quarters'] = df['event'].dt.to_period('Q')
print (df)
       event   months quarters
0 2015-01-01  2015-01   2015Q1
1 2015-05-02  2015-05   2015Q2
2 2016-08-01  2016-08   2016Q3
3 2015-11-01  2015-11   2015Q4

如果需要自定义格式的字符串,请添加strftime

代码语言:javascript
运行
复制
df['months'] = df['event'].dt.strftime('%m-%Y')
df['quarters'] = df['event'].dt.to_period('Q').dt.strftime('%q-%Y')
print (df)
       event   months quarters
0 2015-01-01  01-2015   1-2015
1 2015-05-02  05-2015   2-2015
2 2016-08-01  08-2016   3-2016
3 2015-11-01  11-2015   4-2015
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54800887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档