如果值包含一些字母,我想删除行:“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',则下一个删除行。但我不知道是怎么做的,它并不完美。
答案 0 :(得分:2)
您可以使用 str.contains
和 regex
模式来创建 boolean mask
,然后可以使用它来过滤所需的行:
df0[~df0['word'].str.contains(r'(?i)(?:ing|ed)$')]
word count
0 del 22
1 delete 11