大熊猫:用另一个字符串替换字符串

问题描述:

我有以下的数据帧大熊猫:用另一个字符串替换字符串

prod_type 
0 responsive 
1 responsive 
2 respon 
3 r 
4 respon 
5 r 
6 responsive 

我想更换responrresponsive,所以最终的数据帧是

prod_type 
0 responsive 
1 responsive 
2 responsive 
3 responsive 
4 responsive 
5 responsive 
6 responsive 

我试图以下但它没有工作:

df['prod_type'] = df['prod_type'].replace({'respon' : 'responsvie'}, regex=True) 
df['prod_type'] = df['prod_type'].replace({'r' : 'responsive'}, regex=True) 

解决方案与replacedictionary

df['prod_type'] = df['prod_type'].replace({'respon':'responsive', 'r':'responsive'}) 
print (df) 
    prod_type 
0 responsive 
1 responsive 
2 responsive 
3 responsive 
4 responsive 
5 responsive 
6 responsive 

如果需要设置在列中的所有值给部分string

df['prod_type'] = 'responsive' 
+0

谢谢!有效。 –

+1

@Carlton Gibson - 谢谢。 – jezrael

Yo ü不需要路过这里regex=True,因为这将查找部分匹配,如精确的特殊照顾后仅匹配传递PARAMS作为单独的ARGS:

In [7]: 
df['prod_type'] = df['prod_type'].replace('respon' ,'responsvie') 
df['prod_type'] = df['prod_type'].replace('r', 'responsive') 
df 

Out[7]: 
    prod_type 
0 responsive 
1 responsive 
2 responsvie 
3 responsive 
4 responsvie 
5 responsive 
6 responsive 

其他解决方案的情况下,从所有项目将是相同的:

df['prod_type'] = ['responsive' for item in df['prod_type']] 
In[0]: df 
Out[0]: 
prod_type 
0 responsive 
1 responsive 
2 responsive 
3 responsive 
4 responsive 
5 responsive 
6 responsive