使用字典来重新映射Pandas DataFrame列中的值

  • Post category:Python

使用字典重新映射Pandas DataFrame列中的值,可以非常方便地将某些字符串或数字等值重新映射为另一些值。下面是具体的步骤和实例说明。

步骤

  1. 定义一个字典,将原来的值作为字典的键,新的值作为字典的值,比如:
    python
    mapping = {'red': 'R', 'green': 'G', 'blue': 'B'}

  2. 使用map()函数将DataFrame列中的原始值映射为新的值,比如:
    python
    df['color'] = df['color'].map(mapping)

实例

假设我们有一个包含颜色和数量的数据集,如下所示:

color count
red 10
green 20
blue 30
yellow 40
red 15

现在我们希望将颜色重新映射为R、G、B三个字母代号。可以按照以下步骤操作:

import pandas as pd

# 加载数据集
df = pd.read_csv('colors.csv')

# 显示原始的数据
print(df)

# 定义映射字典
mapping = {'red': 'R', 'green': 'G', 'blue': 'B'}

# 使用map()函数映射值
df['color'] = df['color'].map(mapping)

# 显示处理后的数据
print(df)

输出结果:

   color  count
0    red     10
1  green     20
2   blue     30
3    red     15

  color  count
0     R     10
1     G     20
2     B     30
3     R     15

可以看到,颜色列中的值已经被重新映射为R、G、B三个字母代号了。如果某些原始值没有在映射字典中定义,则它们会被保留为原始值。比如这里的”yellow”就没有被映射,仍然保留为”yellow”。