首页 > 解决方案 > 在熊猫数据框中选择行和列

问题描述

熊猫数据框有,销售数量的商品数量

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

标签: pythonpandas

解决方案


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

推荐阅读