次のデータフレームがあります
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
による解決策by 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'
df['prod_type']
のすべてのアイテムが同じになる場合のその他の解決策:
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
regex=True
をここで渡す必要はありません。これは、部分一致を探すためです。正確に一致した後は、paramsを個別の引数として渡すだけです。
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