如何在有条件的大Pandas身上掉排

2024-10-03 04:34:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下熊猫数据帧

 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中包含“mother”或“pulser”的行

下面是我想要的数据帧

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')]

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


Tags: 数据logiddfdescriptionpulsarnacontains
1条回答
网友
1楼 · 发布于 2024-10-03 04:34:36

似乎您需要将第二个字符串更改为pulser,将and更改为&,以便按位进行比较,如果需要,则按整数进行比较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或不104

df= df[(df.log.str.contains("mother|pulser", na=True)) | (df.description != 104)]

print (df)
   ID  description                 log
0   1          104  motherboardsrno123
2   3          107                1234
3   4          108               53455
4   5          104      pulsersrno2333
5   6          108               53456
6   7          109                 NaN

相关问题 更多 >