如何 map/replace 数据框中每一行的列中的多个值 pandas
How to map/replace multiple values in a column for each row in pandas dataframe
我有这个样本
col1 result
1 A
1,2,3
2 B
2,3,4
3,4
4 D
1,3,4
3 C
这是我的地图变量。
vals_to_replace = {'1':'A', '2':'B', '3':'C', '4':'D'}
我将其映射到 col1,并且只从 col 结果中获取一些值,不确定为什么只映射单个值。
有什么解决办法吗?
谢谢
也许这对你有用:
import pandas as pd
df = pd.DataFrame({'col1': ['1', '1,2,3', '2', '2,3,4', '3, 4', '4', '1,3,4', '3']})
translation = {'1':'A', '2':'B', '3':'C' , '4':'D'}
df['result'] = df.col1.str.translate(str.maketrans(translation))
print(df)
结果:
col1 result
0 1 A
1 1,2,3 A,B,C
2 2 B
3 2,3,4 B,C,D
4 3, 4 C, D
5 4 D
6 1,3,4 A,C,D
7 3 C
我有这个样本
col1 result
1 A
1,2,3
2 B
2,3,4
3,4
4 D
1,3,4
3 C
这是我的地图变量。 vals_to_replace = {'1':'A', '2':'B', '3':'C', '4':'D'} 我将其映射到 col1,并且只从 col 结果中获取一些值,不确定为什么只映射单个值。
有什么解决办法吗?
谢谢
也许这对你有用:
import pandas as pd
df = pd.DataFrame({'col1': ['1', '1,2,3', '2', '2,3,4', '3, 4', '4', '1,3,4', '3']})
translation = {'1':'A', '2':'B', '3':'C' , '4':'D'}
df['result'] = df.col1.str.translate(str.maketrans(translation))
print(df)
结果:
col1 result
0 1 A
1 1,2,3 A,B,C
2 2 B
3 2,3,4 B,C,D
4 3, 4 C, D
5 4 D
6 1,3,4 A,C,D
7 3 C