我有以下数据:
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]
答案 0 :(得分:2)
使用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