【发布时间】:2021-09-14 14:10:56
【问题描述】:
我有一个如下所示的数据框
df = pd.DataFrame({'subject_id': [101,101,np.nan,201,202],
'test_id':['A1','A1','A3',np.nan,'A4']})
这在数据框中既有缺失值又有重复值
我想获取跨列缺失值和重复值的统计信息。
当我尝试以下方法时,它可以很好地处理丢失的列
percent_missing = df.isna().sum() * 100 / len(df)
pd.DataFrame({'column_name': df.columns,
'percent_missing': percent_missing})
但是对于重复项,我想像上面那样写,但这显然是不正确的。它不会按列返回我的输出(而是为我提供数据帧级别)
我不能使用 subset,因为我想像上面使用 isna() 对 missing 所做的那样,一次检查所有列中的重复值
percent_duplicates = df.duplicated().sum() * 100 / len(df)
pd.DataFrame({'column_name': df.columns,
'percent_duplicates': percent_duplicates})
我希望我的输出如下所示
【问题讨论】:
标签: python pandas dataframe numpy pandas-groupby