所以我有一个50列和400行数据框,包含所有数字.我试图仅显示具有超出预定义范围的值的列(即仅显示不在-1到3之间的值).
到目前为止,我有:
df[(df.T > 3).all()]
要显示大于2的值,我可以将整数更改为其他感兴趣的数字,但我可以写一些东西来显示超出范围的数字(即显示所有具有-1到3范围之外的值的列).
解决方法:
你可以使用pd.DataFrame.mask
np.random.seed([3,1415])
df = pd.DataFrame(np.random.randint(-2, 4, (5, 3)), columns=list('abc'))
print(df)
a b c
0 -2 1 0
1 1 0 0
2 3 1 3
3 0 1 -2
4 0 -2 -2
Mask使细胞评估为真NaN
df.mask(df.ge(3) | df.le(-1))
a b c
0 NaN 1.0 0.0
1 1.0 0.0 0.0
2 NaN 1.0 NaN
3 0.0 1.0 NaN
4 0.0 NaN NaN
或者相反
df.mask(df.lt(3) & df.gt(-1))
a b c
0 -2.0 NaN NaN
1 NaN NaN NaN
2 3.0 NaN 3.0
3 NaN NaN -2.0
4 NaN -2.0 -2.0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。