python - 提取满足给定条件的单元格的列标签

标签 python pandas dataframe

假设手头的数据是以下形式:

import pandas as pd
df = pd.DataFrame({'A':[1,10,20], 'B':[4,40,50], 'C':[10,11,12]})

我可以按行计算最小值:

df.min(axis=1)

返回 1 10 12

我想创建一个包含相应单元格列标签的 pandas 系列,而不是值。

也就是说,我想得到A A C

感谢您的任何建议。

最佳答案

你可以使用idxmin(axis=1)方法:

In [8]: df.min(axis=1)
Out[8]:
0     1
1    10
2    12
dtype: int64

In [9]: df.idxmin(axis=1)
Out[9]:
0    A
1    A
2    C
dtype: object

In [11]: df.idxmin(axis=1).values
Out[11]: array(['A', 'A', 'C'], dtype=object)

关于python - 提取满足给定条件的单元格的列标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39459541/

相关文章:

python - ipsec.py 找不到属性 IPPROTO_UDP 和 socket.IPPROTO_IP

python从sqlite数据库导出csv文件,大写 "L"的值被截断

c++ - 如何在不依赖 numpy.i 的情况下使用指针将 numpy 数组传递给 C++/SWIG?

python - 在 Pandas 中交换坐标轴

r - 如何为数据框行子集的列分配值

python - 在解析 JSON 文件数据时,根据 Python 中的配置文件中提到的位置添加具有空值的缺失字段

dataframe - Julia 中的 R 表函数(用于数据帧)

python - 使用 `gopy` ,如何正确地将 []string 从 Python 传递给 Go?

python - 选择具有多列条件的列的唯一值

python - Pandas 中的日期范围