python删除Dataframe中由空值和100%组成的行
时间: 2024-02-20 10:01:53 浏览: 75
可以使用 `dropna()` 方法来删除所有值为 `NaN` 的行或列,然后再通过判断每行的元素是否全部为 `100%` 来删除相应的行。
删除所有值为 `NaN` 的行:
```python
import pandas as pd
import numpy as np
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, np.nan], 'C': [7, 8, 9]})
# 删除所有值为NaN的行
df.dropna(axis='index', how='all', inplace=True)
print(df)
```
输出结果:
```
A B C
0 1.0 4.0 7
1 2.0 NaN 8
2 NaN NaN 9
```
删除由空值和 `100%` 组成的行:
```python
import pandas as pd
import numpy as np
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, np.nan], 'C': [1.0, np.nan, np.nan], 'D': [1.0, 1.0, np.nan]})
# 删除所有值为NaN的行
df.dropna(axis='index', how='all', inplace=True)
# 删除由空值和100%组成的行
df = df.loc[~((df.isnull() | (df == 1.0)).all(axis=1)), :]
print(df)
```
输出结果:
```
A B C D
0 1.0 4.0 1.0 1.0
```
其中,`(df.isnull() | (df == 1.0)).all(axis=1)` 表示选取所有由空值和 `100%` 组成的行。
阅读全文