我有一个Pandas数据框,看起来像这样:
df = pd.DataFrame(np.array([[1,1, 0], [5, 1, 4], [7, 8, 9]]),columns=['a','b','c'])
a b c
0 1 1 0
1 5 1 4
2 7 8 9
我想找到第一列,其中该列中的大多数元素都等于1.0。
我目前有以下代码,可以工作,但在实践中,我的 Dataframe 通常有数千列,而这段代码是我的应用程序的性能关键部分,因此我想知道是否有办法更快地完成这项工作。
for col in df.columns:
amount_votes = len(df[df[col] == 1.0])
if amount_votes > len(df) / 2:
return col
在这种情况下,代码应该返回“b”,因为这是大多数元素等于1.0的第一列
2条答案
按热度按时间qvsjd97n1#
尝试:
印刷品:
uqdfh47h2#
查找值超过一半等于1.0的列
获取第一个: