Как отфильтровать транспонированный кадр данных панд? - PullRequest
0 голосов
/ 15 ноября 2018

Скажем, у меня есть транспонированный 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 голосов
/ 15 ноября 2018

Использование 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
0 голосов
/ 15 ноября 2018

Использование 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...