书上表达:假设你只想 留下⼀部分观测数据,可以⽤thresh参数实现此⽬的。
没有明确说明thresh参数的具体意思,通过代码设置不同的thresh的值,大概意思是:除去本行NA值的数量,剩余的有效值的数量大于等于thresh的值便显示。
以下通过代码来理解
df = pd.DataFrame(np.random.randn(7,3)) df.iloc[:4,1]=NA df.iloc[:2,2]=NA print(df)
输出结果如下:
使用df.dropna(thresh=n)来查看输出结果
df.dropna(thresh=1)
thresh=1输出结果如下:
上述输出结果中0,1行去除NA的值,还剩下一个1个有效值,2,3行去除NA的值,还剩下2个有效值,所有0,1,2,3行均正常显示。
df.dropna(thresh=2)
thresh=2输出结果如下:
上述输出结果中0,1行去除NA的值,还剩下一个1个有效值,有效值的数量小于thresh=2的值,所以不显示,2,3行去除NA的值,还剩下2个有效值,有效值的数量等于thresh=2的值,所有2,3行正常显示。
df.dropna(thresh=3)
thresh=3输出结果如下:
上述输出结果中0,1行去除NA的值,还剩下一个1个有效值,有效值的数量小于thresh=3的值,所以不显示,2,3行去除NA的值,还剩下2个有效值,有效值的数量小于thresh=3的值,所有2,3行也不显示。
df.dropna(thresh=4)
thresh=4输出结果如下:
上述输出结果中所有行去除NA的值后有效值均小于thresh=4,所以所有行均不展示。
以上属于个人理解,有不正确的地方,欢迎大家指正。