首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用熊猫过滤器和日期时间函数的子集df

使用熊猫过滤器和日期时间函数的子集df
EN

Stack Overflow用户
提问于 2019-06-15 18:46:26
回答 3查看 165关注 0票数 0

我试图过滤以下df:

代码语言:javascript
复制
datetemp | gamenum |score
2019-6-2    123      2
2019-4-5    314      4
2019-5-11   344      2
2019-4-29   324      1
2019-2-28   325      9
2019-1-30   231      7

我试着做以下几件事,这似乎应该是可行的:

代码语言:javascript
复制
import datetime

dateone = datetime.date(2019, 4, 1)
datetwo = datetime.date(2019, 6, 12)


df_filted_by_date = df[[(df['DATE_temp'] >= dateone and df['DATE_temp'] <= datetwo )]]
df_filted_by_date

它应该返回:

代码语言:javascript
复制
datetemp | gamenum |score
2019-6-2    123      2
2019-4-5    314      4
2019-5-11   344      2
2019-4-29   324      1

但是,根据对上面代码所做的小调整,我得到了多个错误。我觉得上面的话应该管用。关于如何解决上述问题,有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-16 22:47:05

我不得不改变一些事情。

1)更改我生成日期值的方式:

代码语言:javascript
复制
import datetime

dateone = datetime.datetime(2019, 4, 1)
datetwo = datetime.datetime(2019, 6, 12)

2)我给熊猫的约会时间增加了一个新的步骤:

代码语言:javascript
复制
df["datecol"] = pd.to_datetime(df["datecol"])

3)利用loc进行熊猫过滤

代码语言:javascript
复制
df_filted_by_date = df.loc[(df.datecol>= dateone) & (df.datecol<= datetwo)]

完整代码如下所示:

代码语言:javascript
复制
import datetime

dateone = datetime.datetime(2019, 4, 1)
datetwo = datetime.datetime(2019, 6, 12)

df["datecol"] = pd.to_datetime(df["datecol"])

df_filted_by_date = df.loc[(df.datecol>= dateone) & (df.datecol<= datetwo)]
票数 0
EN

Stack Overflow用户

发布于 2019-06-15 19:05:48

编辑-

转换为日期时间格式

代码语言:javascript
复制
df["DATE_temp"] = pd.to_datetime(df["DATE_temp"])

请用-

代码语言:javascript
复制
df_filted_by_date = df.loc[(df.DATE_temp>= dateone) & (df.DATE_temp<= datetwo)]

而不是

代码语言:javascript
复制
df_filted_by_date = df[[(df['DATE_temp'] >= dateone and df['DATE_temp'] <= datetwo )]]

你只是错过了熊猫使用操作人员的命令。需要在括号中传递这两个比较,然后应用和(&)。

票数 1
EN

Stack Overflow用户

发布于 2019-06-15 19:28:18

您可以使用DatetimeIndex切片:

代码语言:javascript
复制
df.index = pd.to_datetime(df.index) # need to convert into DatetimeIndex
df_filted_by_date = df['2019-04-01':'2019-06-12']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56613243

复制
相关文章

相似问题

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