python 查找dataframe中元素位置
时间: 2023-09-24 13:11:21 浏览: 81
你可以使用 `pandas.DataFrame.where()` 方法来查找DataFrame中元素的位置。下面是一个例子:
```python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
# 查找值为2的元素的位置
indices = df.where(df == 2).stack().index.tolist()
print(indices)
```
输出:
```
[(0, 'A')]
```
这表示值为2的元素在第0行第A列。如果要查找多个元素的位置,只需在 `where()` 方法中使用逻辑运算符,例如:
```python
# 查找值为2或3的元素的位置
indices = df.where((df == 2) | (df == 3)).stack().index.tolist()
print(indices)
```
输出:
```
[(0, 'A'), (1, 'A')]
```
这表示值为2的元素在第0行第A列,值为3的元素在第1行第A列。
相关问题
dataframe 查找数字位置
如果你想查找一个 DataFrame 中某个数值的位置,可以使用 `numpy` 库中的 `where()` 函数。假设你的 DataFrame 名称为 `df`,你想查找数值为 `x` 的位置,可以使用以下代码:
```python
import numpy as np
# 查找数值为 x 的位置
rows, cols = np.where(df.values == x)
# 打印位置
for row, col in zip(rows, cols):
print('({},{})'.format(row, col))
```
其中,`rows` 和 `cols` 分别是一个一维数组,表示数值为 `x` 的位置的行号和列号。如果有多个数值为 `x`,那么 `rows` 和 `cols` 数组会有多个元素,你可以使用 `zip()` 函数来遍历这些位置并进行处理。
dataframe中查找nan
要查找 DataFrame 中的 NaN 值,可以使用 `isna()` 函数来生成一个布尔值的 DataFrame,其中 NaN 值对应 True,非 NaN 值对应 False。例如:
```python
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, np.nan], 'C': [7, 8, 9]})
print(df.isna())
```
输出结果为:
```
A B C
0 False False False
1 False True False
2 True True False
```
其中,第二行第二列和第三列第二行都是 NaN 值,因此在输出结果中对应的位置是 True。可以看到,`isna()` 函数返回的结果与 DataFrame 的形状相同,但元素为布尔值。
如果要查找整个 DataFrame 中的 NaN 值总数,可以使用 `sum()` 函数对 `isna()` 的结果求和,如下所示:
```python
print(df.isna().sum().sum())
```
输出结果为:
```
3
```
即 DataFrame 中一共有 3 个 NaN 值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)