📅  最后修改于: 2023-12-03 15:19:15.271000             🧑  作者: Mango
Pandas是一种高效且易于使用的数据处理工具,其中DataFrame是最常用的数据结构之一。Pandas DataFrame.where()方法允许用户按条件将DataFrame中的元素替换为其他值。
DataFrame.where(cond, other=nan, inplace=False, axis=None, level=None, errors='raise', try_cast=False)
cond
的可调用函数中的错误(如果存在),'raise'表示抛出异常,'ignore'表示忽略该错误并返回一个布尔型DataFrame,此时所有不符合条件的元素都会被替换为Falseimport pandas as pd
data = {'name': ['George', 'Tim', 'John', 'Lucas'],
'age': [25, 30, 22, 19],
'gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data)
df
| | name | age | gender | |---:|:------|:------|:---------| | 0 | George | 25 | M | | 1 | Tim | 30 | M | | 2 | John | 22 | M | | 3 | Lucas | 19 | M |
# 将所有大于等于25岁的人的性别替换为F
df.where(df['age'] >= 25, other='M', inplace=True)
df
| | name | age | gender | |---:|:------|:------|:---------| | 0 | George | 25 | M | | 1 | M | M | M | | 2 | M | 22 | M | | 3 | M | 19 | M |
在上面的示例中,我们使用where()
方法将DataFrame中年龄大于等于25岁的人的性别替换为F。我们传递了两个参数给where()
方法,第一个参数是一个条件表达式,它返回一个布尔值的DataFrame。第二个参数是用于替换不符合条件的值的替换值,我们将其设置为F。inplace=True
表示原地修改原始DataFrame。
Pandas DataFrame.where() 方法是一种强大的方式,用于根据条件替换DataFrame中的值。该方法使用灵活,支持许多参数。默认情况下,所有不符合条件的元素都会被替换为NaN,但是我们可以通过传递其他替换值来自定义此行为。需要注意的是,如果要对原始DataFrame进行修改,需要将inplace
参数设置为True。