如何替换 pandas dataframe 中的值(附示例)


通常,您可能想要替换 pandas DataFrame 的一列或多列中的值。

幸运的是,使用.replace()函数可以轻松做到这一点。

本教程提供了在以下 DataFrame 上实际使用此函数的几个示例:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
                   'division':['E', 'W', 'E', 'E', 'W', 'W', 'E'],
                   'rebounds': [11, 8, 7, 6, 6, 5, 12]})

#view DataFrame
print (df)

  team division rebounds
0 AE 11
1 AW 8
2 BE 7
3 BE 6
4 BW 6
5 CW 5
6 CE 12

示例 1:替换整个 DataFrame 中的单个值

以下代码显示了如何替换整个 pandas DataFrame 中的单个值:

 #replace 'E' with 'East'
df = df. replace ([' E '],' East ')

#view DataFrame
print (df)

  team division rebounds
0 A East 11
1 AW 8
2 B East 7
3 B East 6
4 BW 6
5 CW 5
6 C East 12

示例2:替换整个DataFrame中的多个值

下面的代码展示了如何替换整个pandas DataFrame中的多个值:

 #replace 'E' with 'East' and 'W' with 'West'
df = df. replace ([' E ',' W '],[' East ',' West '])

#view DataFrame
print (df)

        team division rebounds
0 A East 11
1 A West 8
2 B East 7
3 B East 6
4 B West 6
5 C West 5
6 C East 12

示例 3:替换单个列中的单个值

以下代码显示如何替换单个列中的单个值:

 #replace 6 with 0 in rebounds column
df[' rebounds '] = df[' rebounds ']. replace (6, 0)

#view DataFrame
print (df)

        team division rebounds
0 A E 11
1 A W 8
2 B E 7
3 B E 0
4 B W 0
5 C W 5
6 C E 12

示例4:替换单列中的多个值

以下代码展示了如何替换单列中的多个值:

 #replace 6, 11, and 8 with 0, 1 and 2 in rebounds column
df[' rebounds '] = df[' rebounds ']. replace ([6, 11, 8], [0, 1, 2])

#view DataFrame
print (df)

team division rebounds
0 A E 1
1 A W 2
2 B E 7
3 B E 0
4 B W 0
5 C W 5
6 C E 12

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

如何在 Pandas 中用零替换 NaN 值
如何在 Pandas 中用 NaN 替换空字符串
如何根据Pandas中的条件替换列中的值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注