所以我有一个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
标签:python,dataframe,pandas
来源: https://codeday.me/bug/20190608/1198063.html
Original: https://blog.csdn.net/weixin_34260787/article/details/112892187
Author: 茜茜丁
Title: python怎么定义数的范围_python – 如何在定义的数字范围之外搜索所有数据帧行?…
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/754337/
转载文章受原作者版权保护。转载请注明原作者出处!