提取符合给定条件的单元格的列标签

时间:2016-09-12 22:11:15

标签: 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

感谢您的任何建议。

1 个答案:

答案 0 :(得分:3)

您可以使用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)