gpt4 book ai didi

python - 按内部值过滤列并获取索引

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

我想得到另一个数据框,其中包含值大于或等于 1 的列。

df = pd.DataFrame({'A': '0 1 0 0 1 2'.split(),
'B': '0.1 0.2 0 0.5 0 0.1'.split(),'C':'0.1 0.2 0 0.5 0 0.1'.split()})

A B C
0 0 0.1 0.1
1 1 0.2 0.2
2 0 0 0
3 0 0.5 0.5
4 1 0 0
5 2 0.1 0.1

例如,我会这样得到 df2:

df2 = pd.DataFrame({'A': '0 1 0 0 1 2'.split()})

如果我尝试 df2=df2[df2.values.astype(float) >= 1] 我会保留我的三列

最佳答案

您可以使用 ge什么意思是获取值 greaterequal,然后按 any 过滤至少一个 True 和最后一个 boolean indexingix 的列:

print (df.astype(float).ge(1, axis=1))
A B C
0 False False False
1 True False False
2 False False False
3 False False False
4 True False False
5 True False False

print (df.astype(float).ge(1, axis=1).any())
A True
B False
C False
dtype: bool

#sample data are strings, so first cast to float
df2 = df.ix[:, df.astype(float).ge(1, axis=1).any()]
print (df2)
A
0 0
1 1
2 0
3 0
4 1
5 2

它也适用于:

df2 = df.ix[:, (df.astype(float) >= 1).any()]
print (df2)
A
0 0
1 1
2 0
3 0
4 1
5 2

关于python - 按内部值过滤列并获取索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38866792/

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