大熊猫:用另一个字符串替换字符串
问题描述:
我有以下的数据帧大熊猫:用另一个字符串替换字符串
prod_type
0 responsive
1 responsive
2 respon
3 r
4 respon
5 r
6 responsive
我想更换respon
和r
与responsive
,所以最终的数据帧是
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)
答
解决方案与replace
由dictionary
:
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'
答
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
谢谢!有效。 –
@Carlton Gibson - 谢谢。 – jezrael