假设我们有一个 N 行 m 列的数据框。对于每一列,我想找到满足条件的第一个索引。
df = pd.DataFrame(np.random.random((50,5)), columns=['A', 'B', 'C', 'D', 'E'])
对于每一列,我可以做
df[df['A']<0.5].index[0]
查找该列的第一行。我想知道是否有办法在没有 for 循环的情况下为所有列获取它?
答案 0 :(得分:2)
您可以使用numpy.argmax
>>> (df.to_numpy() < 0.5).argmax(axis=0)
array([0, 0, 1, 0, 1])