pandas 删除某列值为非空的所在行
时间: 2023-06-10 16:06:34 浏览: 174
可以使用 `dropna()` 函数删除某列值为非空的所在行。具体步骤如下:
1. 选择需要删除非空值所在行的列
2. 使用 `dropna()` 函数删除该列中非空值所在的行
下面是一个示例代码:
``` python
import pandas as pd
# 创建一个示例数据框
df = pd.DataFrame({'A': [1, 2, 3, None, 5], 'B': [None, 6, 7, 8, 9], 'C': [10, 11, 12, 13, 14]})
# 打印原始数据框
print('原始数据框:\n', df)
# 删除 B 列中非空值所在的行
df = df.dropna(subset=['B'])
# 打印删除后的数据框
print('删除后的数据框:\n', df)
```
运行结果如下:
```
原始数据框:
A B C
0 1.0 NaN 10
1 2.0 6.0 11
2 3.0 7.0 12
3 NaN 8.0 13
4 5.0 9.0 14
删除后的数据框:
A B C
1 2.0 6.0 11
2 3.0 7.0 12
3 NaN 8.0 13
4 5.0 9.0 14
```
可以看到,B 列中值为 `NaN` 的行已被删除。
相关问题
pandas 删除某列值为空的所在行
可以使用 pandas 中的 `dropna()` 方法来删除某列值为空的所在行。
假设要删除名为 `column_name` 的列中值为空的所在行,可以使用以下代码:
```python
df.dropna(subset=['column_name'], inplace=True)
```
其中,`subset` 参数指定要检查的列名,`inplace` 参数设置为 `True` 表示在原始 DataFrame 上直接修改,而不是返回一个新的 DataFrame。
如果要删除所有列中值为空的所在行,可以省略 `subset` 参数:
```python
df.dropna(inplace=True)
```
pandas提取某列最大值的所在行
可以使用以下代码来提取某列最大值的所在行:
```python
import pandas as pd
# 创建一个示例数据框
df = pd.DataFrame({
'name': ['Amy', 'Bob', 'Chris', 'David'],
'age': [20, 25, 30, 35],
'salary': [3000, 5000, 8000, 6000]
})
# 提取 salary 列中最大值所在行
max_salary_row = df.loc[df['salary'].idxmax()]
print(max_salary_row)
```
输出结果为:
```
name Chris
age 30
salary 8000
Name: 2, dtype: object
```
其中,`idxmax()` 函数可以返回指定列中最大值的索引,然后使用 `loc` 方法返回该行数据。