迭代DataFrame并写下满足条件的值的索引

问题描述 投票:0回答:1

我有一个由20行和2500列组成的数据。每列是唯一的产品,行是时间序列,测量结果。因此每个产品测量20次,有2500个产品。

我的数据被定义为DataFrame,我想写下第一次满足特定条件(例如:x> 3)的行(索引)的编号,对于所有列(产品,这样我将有一个数组)到底。

我尝试使用循环和iterrow但执行失败。

P.S:我使用idxmax()来获取最大值的行id,但这次我想获得第一次满足条件然后中断的单元格的索引。

python pandas loops numpy dataframe
1个回答
1
投票

只需使用.gt + .idxmax,它将为您提供第一次满足条件的索引。

import pandas as pd
import numpy as np

np.random.seed(12)
df = pd.DataFrame(np.random.randint(1,5,(20,2500)))

df.gt(3).idxmax()
#0        0
#1        0
#2        4
#3        4
#4        1
#...
#2496     8
#2497     0
#2498     5
#2499     1
© www.soinside.com 2019 - 2024. All rights reserved.