首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要在pandas dataframe中按月过滤日期

需要在pandas dataframe中按月过滤日期
EN

Stack Overflow用户
提问于 2019-11-24 05:20:10
回答 2查看 1.7K关注 0票数 0

具有2010-01-01格式的多年温度数据。我想隔离6月份的临时数据,但不确定如何过滤。通常,我使用的方法是df[df['date'] == 2016],但这只能按年进行解析。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-24 06:14:10

您可以使用dt.month_name()方法

代码语言:javascript
复制
df[df['date'].dt.month_name() == 'June']
票数 2
EN

Stack Overflow用户

发布于 2019-11-24 05:50:12

IIUC,您可以在datetime之上使用datetime方法来访问月份

代码语言:javascript
复制
impot pandas as pd
rng = pd.date_range('2010-01-01','2011-01-01',freq='D')
df = pd.DataFrame({'dates':rng})

打印头的DataFrame。

代码语言:javascript
复制
print(df.head(5))
     dates
0 2010-01-01
1 2010-01-02
2 2010-01-03
3 2010-01-04
4 2010-01-05

使用.loc访问器通过dt.month方法过滤数据帧:

代码语言:javascript
复制
df.loc[df['dates'].dt.month == 2]
     dates
31 2010-02-01
32 2010-02-02
33 2010-02-03
34 2010-02-04
35 2010-02-05
36 2010-02-06

使用pd.to_datetime确保您的日期是正确的datetime对象

使用print(df.dtypes)检查数据类型。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59012385

复制
相关文章

相似问题

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