我正在使用pandas并使用以下数据框(df)和列(mycol1)。
mycol1
-----------------
|ABC |
|CDE |
|EFG |
|3 |
|2, GHI |
|IJK |
|2,4 KLM |
|MNO |
|5 |
|1, 2, 3, OPQ |
|7 QRS |
|STU |
|UWX |
|7 |
|XYZ |
-----------------
我在.replace方法中使用了以下代码,但它替换了整个单元格字符串值,而不仅仅是数字。:
df.mycol1.replace(to_replace=({'1':'anything','2':'Something',
'3':'Values here',
'4':'Homework','5':'my work',
'6':'Any values here',
'7':'More values'}))
我想用字符串值替换每个单元格中的数字代码,以便字符串值与单元格中的现有字符串连接。例如,
mycol1
-----------------
|ABC
|CDE
|EFG
|Values here
|Something, GHI
|IJK
|Something,Homework KLM
|MNO
|my work
|anything, Something, Values here, OPQ
|More values QRS
|STU
|UWX
|More values
|XYZ
-----------------
有人可以帮我这个吗?提前谢谢!
答案 0 :(得分:0)
我认为你需要replace
字典,数字作为带代码的字符串,替换子字符串添加regex=True
:
d = {'1':'a', '2':'b', '3':'c', '4':'d', '7':'e'}
df['mycol2'] = df['mycol1'].replace(d, regex=True)
print (df)
mycol1 mycol2
0 ABC ABC
1 CDE CDE
2 EFG EFG
3 2, GHI b, GHI
4 IJK IJK
5 2,4 KLM b,d KLM
6 MNO MNO
7 1, 2, 3, OPQ a, b, c, OPQ
8 7 QRS e QRS
9 STU STU
10 UWX UWX
11 XYZ XYZ