pandas删除所有值为nan的行
时间: 2023-10-17 13:18:00 浏览: 54
可以使用`dropna()`函数来删除所有包含NaN值的行。它将返回一个新的DataFrame,其中所有包含NaN值的行都已被删除。
例如,假设我们有以下DataFrame:
```
import pandas as pd
df = pd.DataFrame({'A': [1, 2, np.nan, 4], 'B': [5, np.nan, 7, 8], 'C': [9, 10, 11, 12]})
```
现在我们可以使用`dropna()`函数来删除所有包含NaN值的行,如下所示:
```
df.dropna(inplace=True)
```
在这个例子中,`inplace=True`参数将在原始DataFrame上进行修改,而不是返回一个新的DataFrame。
如果你只想删除包含特定列(例如'A'和'B')中NaN值的行,可以使用`subset`参数:
```
df.dropna(subset=['A', 'B'], inplace=True)
```
这将仅删除'A'和'B'列中包含NaN值的行。
相关问题
python的pandas的值是否为nan如何判断
你可以使用 pandas 中的 isna() 函数来判断一个值是否为 NaN。该函数返回一个布尔值,表示值是否为 NaN。例如,如果 df 是一个 pandas 数据框,你可以使用 df.isna() 来判断 df 中的所有值是否为 NaN。
pandas将NaN值修改为0
可以使用pandas中的fillna()函数将NaN值修改为0。示例代码如下:
```python
import pandas as pd
# 创建一个包含NaN值的DataFrame
df = pd.DataFrame({'A': [1, 2, np.NaN, 4], 'B': [np.NaN, 6, 7, 8]})
# 将NaN值修改为0
df.fillna(0, inplace=True)
print(df)
```
输出结果如下:
```
A B
0 1 0
1 2 6
2 0 7
3 4 8
```
在fillna()函数中,第一个参数是用于替换NaN值的值,这里是0。inplace=True表示直接在原始DataFrame上进行修改,而不是返回一个新的DataFrame。