如何在某些情况下在熊猫中放行

时间:2019-02-05 12:37:40

标签: python pandas

我在熊猫中有以下数据框

 ID      description      log       
 1       104              motherboardsrno123
 2       104              displaysrno456
 3       107              1234
 4       108              53455
 5       104              pulsersrno2333
 6       108              53456
 7       109              NA

我只想保留描述104中包含“母亲”或“脉冲”的那些行

以下是我想要的数据框

ID      description      log       
 1       104              motherboardsrno123
 3       107              1234
 4       108              53455
 5       104              pulsersrno2333
 6       108              53456
 7       109              NA

我正在熊猫后面追随

   df= df[(df.log.str.contains("mother|pulsar",na=True)) and (df.description == '104')]

但这没有给我所需的输出。

1 个答案:

答案 0 :(得分:1)

似乎您需要将第二个字符串更改为Enumerable.SequenceEquals(),将pulser更改为and以按位与,并在必要时与整数&比较(而不是字符串{{1} },但这取决于数据):

104

对于您的预期输出-获得'104'或获得df = df[(df.log.str.contains("mother|pulser", na=True)) & (df.description == 104)] print (df) ID description log 0 1 104 motherboardsrno123 4 5 104 pulsersrno2333

mother or pulser