2016-04-03 132 views
3

应用函数列字符串我想删除该字符串的所有实例从山坳“A”关口“B”,像这样:大熊猫据帧基于其他列的值

col A     col B col C 
1999 toyota camry  camry 1999 toyota 
2003 nissan pulsar pulsar 20013 nissan 

我会怎么做这使用熊猫?如果这是一个固定值(不依赖于另一列),我会用:

df['col C'] = df['col A'].str.replace('value-to-replace','') 

回答

2

给出一个DataFrame的:

df = pd.DataFrame(
    { 
     'A': ['1999 toyota camry', '2003 nissan pulsar'], 
     'B': ['camry', 'pulsar'] 
    } 
) 

可以df.apply在行轴并进行更换:

df['C'] = df.apply(lambda L: L.A.replace(L.B, ''), axis=1) 

这会给你:

    A  B    C 
0 1999 toyota camry camry 1999 toyota 
1 2003 nissan pulsar pulsar 2003 nissan 
0

假设你有一个数据帧:

df 

       col A col B 
0 1999 toyota camry camry 
1 2003 nissan pulsar pulsar 

那么你可以进行如下操作:

df['col C'] = [el[0].replace(el[1],'') for el in zip(df['col A'],df['col B'])] 
df 

       col A col B   col C 
0 1999 toyota camry camry 1999 toyota 
1 2003 nissan pulsar pulsar 2003 nissan