python - 在熊猫数据框中选择行和列
问题描述
熊猫数据框有,销售数量的商品数量
FRUIT YESTERDAY TODAY TOMORROW
Apple 5 5 3
Apple 3 5 3
Orange 6 9 8
Banana 0 0 0
Grapes 7 7 7
Guava 0 3 3
Mango 2 8 2
Mango 4 4 6
以上数据在 pandas 数据框中,使用 IF 条件,我需要类似的数据,在使用以下条件(Cond-1)过滤后,我们必须检查 YESTERDAY 、 TODAY 、 TOMORROW 的任何值是否等于零,然后排除该行。( cond-1A) 还检查 YESTERDAY、TODAY、TOMORROW 是否都具有相同的值,然后排除这些行。(例如,不包括葡萄 7 7 7)。(Cond-2)在使用 cond-1 过滤数据后,我们检查 YESTERDAY 和 TODAY 的条件是否相等,然后获取这样的行(cond-3)我们必须检查 YESTERDAY 和 TOMORROW 的条件是否相等,然后显示这样的行
输出 :
YESTERDAY 和 TODAY Equal 是
FRUIT YESTERDAY TODAY TOMORROW
Apple 5 5 3
Mango 4 4 6
昨天和明天是平等的
FRUIT YESTERDAY TODAY TOMORROW
Apple 3 5 3
Mango 2 8 2
解决方案
pd.DataFrame.query
在屏蔽数据帧等于零的地方尝试使用:
df.mask(df == 0).query('YESTERDAY == TOMORROW')
输出:
FRUIT YESTERDAY TODAY TOMORROW
1 Apple 3.0 5.0 3.0
4 Grapes 7.0 7.0 7.0
6 Mango 2.0 8.0 2.0
和,
df.mask(df == 0).query('YESTERDAY == TODAY')
输出:
FRUIT YESTERDAY TODAY TOMORROW
0 Apple 5.0 5.0 3.0
4 Grapes 7.0 7.0 7.0
7 Mango 4.0 4.0 6.0
推荐阅读
- hyperledger-composer - 如何将多个脚本文件添加到 Hyperledger Composer Playground
- elasticsearch - 忽略“pipelines.yml”文件,因为指定了模块或命令行选项
- cmake - 从 Qt Creator (4.8) 文件系统视图中隐藏非源文件
- azure - 如何将 Office 365 域中的人员列表添加到 PowerShell 中的 Azure 组?
- javascript - SetInterval - 到达下一分钟时更改间隔
- vhdl - VHDL 中的多路复用器 8x1
- java - 如何将“spring boot 2.1 with elasticsearch 6.6”与集群节点“https”连接起来?
- macos - OSX - 启动可执行文件时如何不显示终端窗口?
- java - 用于删除 Postgres SQL 中逻辑冗余条目的 Cron 作业
- python - Pygame 窗口冻结并停止响应,我该如何解决这个问题?