首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据帧中的多个筛选器

数据帧中的多个筛选器
EN

Stack Overflow用户
提问于 2021-02-09 17:15:57
回答 1查看 17关注 0票数 0

我正在尝试过滤Dataframe,但当我运行以下代码时,它返回空的dataframe:

代码语言:javascript
运行
复制
allot_df = allot_df[(allot_df['dispatch_date'].dt.month == 1) &
                                (allot_df['dispatch_date'].dt.year == 2021 ) &
                                (allot_df['Increased Cycle Time'] > 0) &
                                (allot_df['kit']==row.kit)]

但是,当我通过excel应用相同的筛选器时,它工作得很好,我无法识别代码中的问题。

因此,我使用固定的值运行它,但仍然存在相同的错误

原始代码应该是:

代码语言:javascript
运行
复制
allot_df = allot_df[(allot_df['dispatch_date'].dt.month == int(row.delivery_month[:2])) &
                                (allot_df['dispatch_date'].dt.year == int(row.delivery_month[-4:])) &
                                (allot_df['Increased Cycle Time'] > 0)&
                                (allot_df['kit']==row.kit)]

我尝试打印变量的值以纠正不匹配,但它们是相同的

代码语言:javascript
运行
复制
print("month df", row.delivery_month[:2])
print("month df", row.kit)
print("month df", type(row.delivery_month[:2]))

month df 02
month df KIT1216A
month df <class 'str'>
EN

回答 1

Stack Overflow用户

发布于 2021-02-09 17:36:58

我想您忘了在查询中添加.iloc。如下所示:

代码语言:javascript
运行
复制
allot_df = allot_df.iloc[(allot_df['dispatch_date'].dt.month == 1) &
                                (allot_df['dispatch_date'].dt.year == 2021 ) &
                                (allot_df['Increased Cycle Time'] > 0) &
                                (allot_df['kit']==row.kit)]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66115994

复制
相关文章

相似问题

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