Dataframe
|Name|
|----|
|abc |
|pqr |
|xyz |
Input Dict: {a:1,b:2,p:3,r:4}
output
Dataframe
|Name|
|----|
|12c |
|3q4 |
|xyz |
My loop is given below
for k,l in dict:
for z in df:
if k in z:
new_string = z.replace(k,l)
rows_with_replacement.append(new_string)
else:
new_string=z
rows_with_replacement.append(new_string)
使用Series.str.translate()
:
df = pd.DataFrame({'Name': ['abc', 'pqr', 'xyz']})
d = {'a': '1', 'b': '2', 'p': '3', 'r': '4'}
df.Name = df.Name.str.translate(str.maketrans(d))
print(df)
结果:
Name
0 12c
1 3q4
2 xyz
对于多个符号:
df = pd.DataFrame({'Name': ['abc', 'pqr', 'xyz']})
d = {'ab': '11', 'b': '2', 'pq': '33', 'r': '4'}
df.Name = df.Name.str.replace('|'.join(d.keys()), lambda x: d[x[0]], regex=True)
print(df)
Name
0 11c
1 334
2 xyz