Python Pandas:如何从数据帧的索引中获取行名?

时间:2014-10-29 20:34:16

标签: python pandas dataframe

假设我有一个带有rownames的数据框,它们本身并不是一列,如下所示:

        X  Y
 Row 1  0  5
 Row 2  8  1
 Row 3  3  0

如果我有它们的索引,我如何将这些行名称提取为列表? 例如,它看起来像:

function_name(dataframe[indices])
> ['Row 1', 'Row 2']

感谢您的帮助!

4 个答案:

答案 0 :(得分:86)

df.index

  • 将行名称输出为pandas Index object。

list(df.index)

  • 施放到列表中。

df.index['Row 2':'Row 5']

  • 支持类似于列的标签切片。

答案 1 :(得分:5)

如果您只想提取某些基于整数的行索引的索引值,可以使用iloc方法执行以下操作:

In [28]: temp
Out[28]:
       index                 time  complete
row_0      2  2014-10-22 01:00:00         0
row_1      3  2014-10-23 14:00:00         0
row_2      4  2014-10-26 08:00:00         0
row_3      5  2014-10-26 10:00:00         0
row_4      6  2014-10-26 11:00:00         0

In [29]: temp.iloc[[0,1,4]].index
Out[29]: Index([u'row_0', u'row_1', u'row_4'], dtype='object')

In [30]: temp.iloc[[0,1,4]].index.tolist()
Out[30]: ['row_0', 'row_1', 'row_4']

答案 2 :(得分:4)

这似乎工作正常:

dataframe.axes[0].tolist()

答案 3 :(得分:2)

如果你想获得索引值,你可以简单地做:

  

dataframe.index

这将输出一个pandas.core.index