pandas删除nan的行
时间: 2023-07-01 09:07:10 浏览: 48
在 Pandas 中,可以使用 `dropna()` 函数删除包含 NaN 值的行。以下是一个示例代码:
```python
import pandas as pd
# 创建包含 NaN 值的 DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan, 4], 'B': [5, np.nan, np.nan, 8], 'C': [9, 10, 11, 12]})
# 删除包含 NaN 值的行
df = df.dropna()
print(df)
```
输出结果如下:
```
A B C
0 1.0 5.0 9
```
可以看到,只剩下了第一行,因为它是唯一不包含 NaN 值的行。如果希望删除包含 NaN 值的列,可以指定 `axis=1` 参数,如下所示:
```python
df = df.dropna(axis=1)
```
相关问题
pandas删除NAN
在pandas中,可以使用dropna()函数来删除包含NaN值的行或列。dropna()函数有几个常用的参数:
1. axis:指定删除行还是列,默认为0,表示删除包含NaN值的行;如果设置为1,则表示删除包含NaN值的列。
2. how:指定删除的条件,默认为'any',表示只要有一个NaN值就删除该行或列;如果设置为'all',则表示只有全部为NaN值才删除。
3. subset:指定删除的范围,默认为None,表示删除整个DataFrame中包含NaN值的行或列;如果设置为一个或多个列名,则只在指定的列中删除包含NaN值的行或列。
下面是一个示例代码,演示如何使用dropna()函数删除包含NaN值的行:
```python
import pandas as pd
# 创建一个包含NaN值的DataFrame
data = {'A': [1, 2, np.nan, 4],
'B': [5, np.nan, 7, 8],
'C': [9, 10, 11, 12]}
df = pd.DataFrame(data)
# 删除包含NaN值的行
df_cleaned = df.dropna()
print(df_cleaned)
```
输出结果为:
```
A B C
0 1.0 5.0 9
```
如果要删除包含NaN值的列,可以设置axis参数为1:
```python
df_cleaned = df.dropna(axis=1)
```
输出结果为:
```
C
0 9
1 10
2 11
3 12
```
pandas 寻找NaN
在 Pandas 中,可以使用 `isna()` 或者 `isnull()` 方法来寻找 NaN 值。
下面是一个例子:
```python
import pandas as pd
import numpy as np
data = {'A': [1, 2, np.nan, 4, 5],
'B': [np.nan, 2, 3, np.nan, 6],
'C': [7, 8, 9, 10, np.nan]}
df = pd.DataFrame(data)
# 使用 isna() 方法来寻找 NaN 值
nan_df = df.isna()
print(nan_df)
```
输出结果会是一个布尔型的 DataFrame,其中 True 表示对应位置的值为 NaN,False 表示对应位置的值不是 NaN。
希望对你有所帮助!如果你有其他问题,请随时提问。