我有一个由20行和2500列组成的数据。每列是唯一的产品,行是时间序列,测量结果。因此每个产品测量20次,有2500个产品。
我的数据被定义为DataFrame
,我想写下第一次满足特定条件(例如:x> 3
)的行(索引)的编号,对于所有列(产品,这样我将有一个数组)到底。
我尝试使用循环和iterrow但执行失败。
P.S:我使用idxmax()
来获取最大值的行id,但这次我想获得第一次满足条件然后中断的单元格的索引。
只需使用.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