如何用Pandas查看列观测值类别数、校验列值及替代R的table函数
Pandas 列值统计与校验方法
1. 查看列中观测值的类型数量
直接调用列的nunique()方法,返回该列所有不同值的数量:
df['column_name'].nunique()
2. 检查列中是否存在'a'、'b'之外的值
快速判断是否存在异常值
用isin()筛选合法值,取反后用any()判断是否有异常:
# 返回True表示存在非a/b的值,False表示所有值都是a或b (~df['column_name'].isin(['a', 'b'])).any()
查看具体异常行
如果需要定位异常值所在的行,直接筛选即可:
# 返回包含异常值的所有行 df[~df['column_name'].isin(['a', 'b'])]
3. 实现R中table(df$column_name)的相同输出
Pandas中用value_counts()方法,默认按计数降序排列;如果要和R的table保持一致的按值自然顺序输出,添加sort=False参数:
# 按计数降序输出(默认行为) df['column_name'].value_counts() # 按值的顺序输出,与R table行为一致 df['column_name'].value_counts(sort=False)
内容的提问来源于stack exchange,提问作者Irfan Khiari
相关产品推荐
相关产品推荐

