我有以下数据farame
| 因德|Q值|拖运1|拖运2|拖运3|拖运|拖运5|电子邮件1| em 2语言|第三代|英语四级|电子邮件5|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 1个|1个|梅迪奥|钠氮|钠氮|钠氮|钠氮|0.165850美元|钠氮|钠氮|钠氮|钠氮|
| 第二章|1个|梅迪奥|钠氮|钠氮|钠氮|钠氮|零点二四四九二|钠氮|钠氮|钠氮|钠氮|
| 三个|1个|梅迪奥|梅迪奥|钠氮|钠氮|钠氮|0.165850美元|0.165850美元|钠氮|钠氮|钠氮|
| ...|...|...| - -|- -|- -|- -|- -|- -|- -|- -|- -|
| 小行星5071|三个|梅迪奥|钠氮|钠氮|钠氮|钠氮|0.071119|钠氮|钠氮|钠氮|钠氮|
其中Q可以是1、2或3,运输量可以是corto、medio、largo。每个运输量都有一个对应的em,这取决于运输给予。我希望只过滤或选择与运输量“corto”和Q“1”对应的值,而忽略运输量“medio”、“largo”和Q“3”及其对应的em
我尝试使用.loc和不相等的运算符来丢弃其他牵引
p=em.loc[((em.Q=='1') & ((em.haul1!='largo') & (em.haul1!='medio') & (em.haul2!='largo') & (em.haul2!='medio') & (em.haul3!='largo') & (em.haul3!='medio') & (em.haul4!='medio') & (em.haul4!='largo') & (em.haul5!='medio') & (em.haul5!='largo')))]
但它只给了我最初只有“corto”的数据
我试着从
| 因德|Q值|拖运1|拖运2|拖运3|拖运|拖运5|电子邮件1| em 2语言|第三代|英语四级|电子邮件5|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 五十|1个|科尔托|拉戈|拉戈|科尔托|钠氮|0.042763美元|零点九二六五五九|零点九二六五五九|0.042763美元|钠氮|
| ...| - -|- -|- -|- -|- -|- -|- -|- -|- -|...|...|
至
| 因德|Q值|拖运1|拖运2|拖运3|拖运|拖运5|电子邮件1| em 2语言|第三代|英语四级|电子邮件5|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 五十|1个|科尔托|钠氮|钠氮|科尔托|钠氮|0.042763美元|钠氮|钠氮|0.042763美元|钠氮|
| ...| - -|- -|- -|- -|- -|- -|- -|- -|- -|...|...|
所以我可以用.sum(axis=1, skipna=True)
和在运输量为'corto'和Q '1'的条件下对em的值求和。
1条答案
按热度按时间wgx48brx1#
这应该可以完成任务:
第2条和第3条可合并为一条:
现在它变短了,也更容易操作了,这会产生到的表,如果你把
== 2
改为1,结果会是到的表。