用字典值替换 pandas 列值
Replace pandas column values with dictionary values
我有一个字典,如下所示
OUTPUT = {'supplier': {0: 'ABCD',
1: 'DEFG',
2: 'GHIK',
3: 'JKL'},
'region': {0: 'KOREA',
1: 'AUS/NZ',
2: 'INDIA',
3: 'ASEAN',
4: 'HK / CHINA'}}
ID,supplier,region,subject
1, 0, 3, TEST
2, 1, 2, EXAM
3, 3, 4, VIVA
df = pd.read_clipboard(sep=',')
我想用字典中对应的映射值替换 supplier
和 region
列中的值
我尝试了以下
df["supplier"].replace(output) # not works
df['supplier'].map(output) # not works
但这引发了如下所示的错误
AttributeError: 'Series' object has no attribute '_replace_columnwise'
我希望我的输出如下所示
ID,supplier,region,subject
1, ABCD, ASEAN, TEST
2, DEFG, INDIA, EXAM
3, JKL, HK/CHINA, VIVA
您可以在循环中使用 map
:
for k,v in OUTPUT.items():
df[k] = df[k].map(v)
或者简单地使用 replace
:
df = df.replace(OUTPUT)
输出:
ID supplier region subject
0 1 ABCD ASEAN TEST
1 2 DEFG INDIA EXAM
2 3 JKL HK / CHINA VIVA
我有一个字典,如下所示
OUTPUT = {'supplier': {0: 'ABCD',
1: 'DEFG',
2: 'GHIK',
3: 'JKL'},
'region': {0: 'KOREA',
1: 'AUS/NZ',
2: 'INDIA',
3: 'ASEAN',
4: 'HK / CHINA'}}
ID,supplier,region,subject
1, 0, 3, TEST
2, 1, 2, EXAM
3, 3, 4, VIVA
df = pd.read_clipboard(sep=',')
我想用字典中对应的映射值替换 supplier
和 region
列中的值
我尝试了以下
df["supplier"].replace(output) # not works
df['supplier'].map(output) # not works
但这引发了如下所示的错误
AttributeError: 'Series' object has no attribute '_replace_columnwise'
我希望我的输出如下所示
ID,supplier,region,subject
1, ABCD, ASEAN, TEST
2, DEFG, INDIA, EXAM
3, JKL, HK/CHINA, VIVA
您可以在循环中使用 map
:
for k,v in OUTPUT.items():
df[k] = df[k].map(v)
或者简单地使用 replace
df = df.replace(OUTPUT)
输出:
ID supplier region subject
0 1 ABCD ASEAN TEST
1 2 DEFG INDIA EXAM
2 3 JKL HK / CHINA VIVA