# 查看缺失值数量与比例 ( pd.DataFrame({ "NaN_num": round(df.isnull().sum(),2), "NaN_percent":(df.isnull().sum()/df.shape[0]).apply(lambda x:str(round(x*100,2))+'%') , }) .sort_values('NaN_num', ascending=False) )翻译这段代码
时间: 2024-04-21 16:30:32 浏览: 89
这段代码是用来查看一个 pandas 数据框中每一列缺失值的数量和占比的。具体来说,它使用了 pandas 中的 isnull() 函数来检查每个元素是否为空值(NaN),然后使用 sum() 函数统计每列中 NaN 值的数量。接着,计算每列的缺失值占整个数据框的比例,并使用 apply() 函数将比例转换为字符串格式,并加上百分号。最后,将结果按照缺失值数量从大到小排序,得到一个新的数据框。整个过程中,使用了 round() 函数来保留小数点后两位。
相关问题
筛选出pd.DataFrame的nan
您可以使用 `pd.DataFrame.isnull()` 或 `pd.isnull()` 函数来筛选出 pd.DataFrame 中的 nan。例如:
```
import pandas as pd
df = pd.DataFrame([[1, 2, 3], [float('nan'), 5, 6], [7, 8, 9]])
# 使用 pd.DataFrame.isnull() 函数筛选出 nan
nan_rows = df[df.isnull().any(axis=1)]
print(nan_rows)
# 使用 pd.isnull() 函数筛选出 nan
nan_rows = df[pd.isnull(df).any(axis=1)]
print(nan_rows)
```
输出结果如下:
```
0 1 2
1 NaN 5.0 6
```
利用isnull检测缺失值,Series中的None值处理,利用isnull().sum()统计缺失值,用info方法查看DataFrame的缺失值,Series的dropna用法
在Pandas中,对于Series对象,`isnull()`函数可以用来识别值是否等于`NaN`(即None)。对于含有None值的情况,`isnull()`会将其视为缺失值。
例如:
```python
ser = pd.Series([1, None, 3, np.nan])
is_null_ser = ser.isnull()
print(is_null_ser) # 输出:[False True False True]
```
`isnull().sum()`能用来计算某个序列有多少个缺失值:
```python
sum_of_nans = is_null_ser.sum()
print(sum_of_nans) # 输出:2
```
`pd.DataFrame.info()`函数则可以查看DataFrame的总体信息,包括每列的非空数据(即非缺失值)数量:
```python
df = pd.DataFrame({'A': [1, None, 3], 'B': [4, np.nan, 6]})
df.info()
```
输出会有每个列名及其非空值的数量。
如果需要移除Series中的缺失值,可以使用`dropna()`方法:
```python
ser_cleaned = ser.dropna() # 删除所有缺失值
or
ser_filled = ser.fillna(value=0) # 将缺失值替换为指定的值,这里是0
```
`dropna()`方法还有多种参数可以选择,比如只删除某一列的缺失值,或者保留某些特定条件下的行等。
阅读全文