gpt4 book ai didi

python - 根据列中的值过滤数据框的行

转载 作者:太空宇宙 更新时间:2023-11-03 15:30:25 25 4
gpt4 key购买 nike

我想过滤包含值小于的数据帧的行,比如 10。

import numpy as np
import pandas as pd
from pprint import pprint
df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
df = df[df <10]

给予,

A   B    C    D
0 5.0 NaN NaN NaN
1 NaN NaN NaN NaN
2 0.0 NaN 6.0 NaN
3 NaN NaN NaN NaN
4 NaN NaN NaN NaN
5 6.0 NaN NaN NaN
6 NaN NaN NaN NaN
7 NaN NaN NaN 7.0
8 NaN NaN NaN NaN
9 NaN NaN NaN NaN

预期:

0   5  57  87  95
2 0 80 6 82
5 6 33 74 75
7 71 44 60 7

关于如何获得预期结果有什么建议吗?

最佳答案

使用:

np.random.seed(21)
df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))

如果要按条件的任何值进行过滤,则必须添加 DataFrame.any用于测试 bool 值 DataFrame 的至少一个 True:

df1 = df[(df < 10).any(axis=1)]
print (df1)
A B C D
0 73 79 56 4
5 5 18 70 50
7 5 80 35 91
9 6 84 90 28

print (df < 10)
A B C D
0 False False False True
1 False False False False
2 False False False False
3 False False False False
4 False False False False
5 True False False False
6 False False False False
7 True False False False
8 False False False False
9 True False False False

print ((df < 10).any(axis=1))
0 True
1 False
2 False
3 False
4 False
5 True
6 False
7 True
8 False
9 True
dtype: bool

关于python - 根据列中的值过滤数据框的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58128354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com