В пандах при удалении данных с помощью str.split, как я могу пропустить строки? - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть следующие данные:

Name    X   Y
AA:AA   0   0
AA:BB   1   1
AA:CC   2   2
GG:AB   3   3
GG:AC   4   4

Как я могу отфильтровать 'AA' и точку с запятой, но пропустить что-нибудь с GG?Я использовал это, чтобы отфильтровать двоеточие и сохранить только правую часть данных, но для GG мне нужно сохранить его как

data['Name'] = data['Name'].str.split(":").str[1]

1 Ответ

0 голосов
/ 16 ноября 2018

Используйте str.contains и работайте над срезом как:

mask = df['Name'].str.contains('GG')
df.loc[~mask,'Name'] = df.loc[~mask,'Name'].str.split(':').str[1]

print(df)
    Name  X  Y
0     AA  0  0
1     BB  1  1
2     CC  2  2
3  GG:AB  3  3
4  GG:AC  4  4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...