python - 返回满足 pandas 条件的第一列号

标签 python pandas

我有一个包含多列累积和的数据集。对于每一行,我想返回满足条件的第一个列号。

玩具示例:

df = pd.DataFrame(np.array(range(20)).reshape(4,5).T).cumsum(axis=1)

>>> df
   0   1   2   3
0  0   5  15  30
1  1   7  18  34
2  2   9  21  38
3  3  11  24  42
4  4  13  27  46

例如,如果我想返回值大于20的第一列。

期望的输出:

3
3
2
2
2

一如既往地非常感谢!

最佳答案

尝试使用idxmax

df.gt(20).idxmax(1)
Out[66]: 
0    3
1    3
2    2
3    2
4    2
dtype: object

关于python - 返回满足 pandas 条件的第一列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62563033/

相关文章:

python - 如何唯一化元组元素?

python - 允许将数值公式视为对象的开源语言/库/表示格式?

python - 在python中收集不同进程的结果

python - Eventhub 在 python 中以列表形式读取数据

python - Pandas :数据文件中没有列名

python - 交换 Pandas 字符串列中的两个子字符串

python - 计算 Pandas 中连续 1 的组数

pandas - SQLAlchemy 中 mssql+pyodbc 出现 "Data source name too long"错误

python - 将 2 级索引添加为其他有条件的索引的总和

python - 根据条件迭代地将一个 df 的行猫到另一个 df 的单元格