当我们在用Pandas处理数据时,有时会遇到需要对DataFrame中的某些值进行替换的情况,这时候就可以使用Pandas提供的值替换方法。本篇攻略将详细介绍Pandas值替换的常用方法,包括替换单个值、替换多个值和按条件替换。
替换单个值
要替换DataFrame中的单个值,可以使用.replace()
方法。它可以接受两个参数,第一个参数是要替换的值,第二个参数是替换后的值。下面是一个示例:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40]}
df = pd.DataFrame(data)
df = df.replace('Charlie', 'Chris')
print(df)
输出结果为:
name age
0 Alice 25
1 Bob 30
2 Chris 35
3 David 40
上面的代码中,我们用Chris替换了Charlie。
替换多个值
如果要同时替换多个值,可以使用字典类型的参数。字典的键是要替换的值,而值是替换后的值。下面是一个示例:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40]}
df = pd.DataFrame(data)
mapping = {'Charlie': 'Chris', 'David': 'Daniel'}
df = df.replace({'name': mapping})
print(df)
输出结果为:
name age
0 Alice 25
1 Bob 30
2 Chris 35
3 Daniel 40
上面的代码中,我们用Chris替换Charlie,Daniel替换David。
按条件替换
如果要根据条件将DataFrame中的一些值替换成其他值,可以使用where()
方法。这个方法接受一个条件,对符合条件的值进行替换。下面是一个示例:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40]}
df = pd.DataFrame(data)
df['age'] = df['age'].where(df['age'] < 30, 100)
print(df)
输出结果为:
name age
0 Alice 25
1 Bob 100
2 Charlie 100
3 David 100
上面的代码中,我们将年龄大于等于30的人的年龄替换为100。