熊猫。如果值包含一些字母,如何删除一行

时间:2021-01-08 17:53:22

标签: pandas parsing

如果值包含一些字母,我想删除行:“ing”或“ed”。

原始数据框

d0 = [{'word':'del', 'count':22}, {'word':'delete', 'count':11},{'word':'deleted', 'count':2},{'word':'deleting', 'count':5}]
df0 = pd.DataFrame(d0)

理想的数据帧

d1 = [{'word':'del', 'count':22}, {'word':'delete', 'count':11}]
df1 = pd.DataFrame(d1)

我想可以添加带有值的列,包括最后 3 个字母,如果值 == 'ing' 或 'ed',则下一个删除行。但我不知道是怎么做的,它并不完美。

1 个答案:

答案 0 :(得分:2)

您可以使用 str.containsregex 模式来创建 boolean mask,然后可以使用它来过滤所需的行:

df0[~df0['word'].str.contains(r'(?i)(?:ing|ed)$')]

     word  count
0     del     22
1  delete     11