pandas df.where的使用方法
时间: 2023-02-19 22:30:35 浏览: 162
Pandas的DataFrame类提供了一个where()方法,用于根据条件过滤数据。它接受一个条件表达式作为参数,并返回满足该条件的行。语法格式为:DataFrame.where(cond, other=nan, inplace=False, axis=None, level=None, errors='raise', try_cast=False)。其中,cond为条件表达式;other表示不满足条件时的值;inplace表示是否在原DataFrame上进行操作;axis表示操作轴;level表示层次索引;errors表示出错时的处理方式;try_cast表示是否尝试转换类型。
相关问题
pandas df.where的使用方法,举例说明
Pandas DataFrame的where方法可以用来过滤数据,例如:
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 过滤出A列的值大于2的行
df.where(df['A'] > 2)
输出:
A B
0 NaN NaN
1 NaN NaN
2 3.0 6.0
pandas.np.where
pandas.np.where是pandas和numpy库中的一个函数,用于根据指定的条件对数组或DataFrame对象的元素进行逐个判断,并返回一个新的数组或DataFrame对象,其中满足条件的元素被替换为指定的值,不满足条件的元素则保留原值。
具体来说,pandas.np.where函数的语法如下:
```python
pandas.np.where(condition, x, y)
```
其中,condition为一个布尔型数组或条件表达式,x和y分别为两个数组或标量,用来指定替换满足条件的元素和不满足条件的元素的值。如果x和y都是标量,则所有满足条件的元素都将替换为x;如果x和y都是数组,则需要保证它们的形状相同,并且满足条件的元素将替换为x中对应位置的元素,不满足条件的元素将替换为y中对应位置的元素。
下面是一个简单的示例:
```python
import pandas as pd
import numpy as np
data = {'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
df['A'] = np.where(df['A'] > 3, -1, df['A'])
print(df)
```
输出结果为:
```
A B
1 6
1 2 7
2 3 8
3 -1 9
4 -1 10
```
在上面的示例中,我们使用np.where函数对DataFrame对象的列'A'进行了条件判断和替换操作,将所有大于3的元素替换为-1。
阅读全文