如何过滤转置的熊猫数据框?

时间:2018-11-15 18:24:06

标签: python pandas

说我有一个像这样的转置df

    id       0          1           2            3
0  1361     Spain     Russia     South Africa   China
1  1741     Portugal  Cuba       UK             Ukraine
2  1783     Germany   USA        France         Egypt
3  1353     Brazil    Russia     Japan          Kenya
4  1458     India     Romania    Holland        Nigeria

如何获取所有带有“ er”的行,以便将其退还给我

   id       0           1           2            3
2  1783     Germany   USA        France         Egypt
4  1458     India     Romania    Holland        Nigeria

因为'er'包含在德国和尼日利亚。

谢谢!

2 个答案:

答案 0 :(得分:1)

使用contains

df[df.apply(lambda x :x.str.contains(pat='er')).any(1)]
Out[96]: 
             id        0        1        2     3
2 1783  Germany      USA   France    Egypt  None
4 1458    India  Romania  Holland  Nigeria  None

答案 1 :(得分:0)

在各行中使用apply + str.contains

df = df[df.apply(lambda x: x.str.contains('er').any(), axis=1)]

print(df)
     id        0        1        2        3
2  1783  Germany      USA   France    Egypt
4  1458    India  Romania  Holland  Nigeria