对 pandas
中的 replace()
函数进行使用,通常有以下三个必要参数:
to_replace
:被替换的值value
:要替换成的新值inplace
:是否在原数据集上进行修改
下面我们来看一下具体的使用方法及示例说明。
简单替换示例
首先,我们要将一个DataFrame中的某一列中的指定值,替换成新的值。
import pandas as pd
data = pd.DataFrame({
'Sno': [1, 2, 3, 4, 5],
'Name': ['Tom', 'Jerry', 'Jack', 'Rose', 'Nancy'],
'Gender': ['M', 'M', 'M', 'F', 'F']
})
# 查看原数据集
print(data)
# 将Gender列中的'M'替换成'Male'
data['Gender'].replace('M', 'Male', inplace=True)
# 查看替换后的数据集
print(data)
上述代码中,我们首先定义了一个 DataFrame
,并将其打印输出,然后使用.replace()
方法替换了原数据集 data
中 Gender
列中的 ‘M’ 为 ‘Male’ ,并使用 inplace=True
将修改直接作用于原数据集 data
上。
运行上述代码,可以得到以下输出:
Sno Name Gender
0 1 Tom M
1 2 Jerry M
2 3 Jack M
3 4 Rose F
4 5 Nancy F
Sno Name Gender
0 1 Tom Male
1 2 Jerry Male
2 3 Jack Male
3 4 Rose F
4 5 Nancy F
多个值批量替换示例
接下来,我们来看一个有多个指定值要替换的示例。假设我们有一批考试成绩数据,想将其中60分以下的成绩都修改为不及格 ‘Fail’,90分以上的修改为 ‘Excellent’。
import pandas as pd
data = pd.DataFrame({
'Name': ['Tom', 'Jerry', 'Jack', 'Rose', 'Nancy'],
'Score': [67, 78, 33, 92, 89]
})
# 查看原数据集
print(data)
# 进行多个值的替换
data['Score'].replace([x for x in range(101) if x < 60], 'Fail', inplace=True)
data['Score'].replace([x for x in range(101) if x >= 90], 'Excellent', inplace=True)
# 查看替换后的数据集
print(data)
上述代码先定义了一个考试成绩的 DataFrame
,然后将分数值在60以下的替换为 ‘Fail’,将分数值在90及以上的替换为 ‘Excellent’。
运行上述代码,可以得到以下输出:
Name Score
0 Tom 67
1 Jerry 78
2 Jack 33
3 Rose 92
4 Nancy 89
Name Score
0 Tom 67
1 Jerry 78
2 Jack 'Fail'
3 Rose 'Excellent'
4 Nancy 'Excellent'
通过上述示例,我们可以看到 pandas
的 replace()
函数在数据处理过程中非常方便。