如何打印出pandas数据帧的索引?

Dan*_*Dan 26 python pandas

我正在尝试制作一张桌子,而Pandas格式化其索引的方式正是我正在寻找的.也就是说,我不想要实际数据,我无法弄清楚如何让Pandas只打印出没有相应数据的索引.

EdC*_*ica 31

您可以使用以下命令访问df的index属性.index:

In [277]:

df = pd.DataFrame({'a':np.arange(10), 'b':np.random.randn(10)})
df
Out[277]:
   a         b
0  0  0.293422
1  1 -1.631018
2  2  0.065344
3  3 -0.417926
4  4  1.925325
5  5  0.167545
6  6 -0.988941
7  7 -0.277446
8  8  1.426912
9  9 -0.114189
In [278]:

df.index
Out[278]:
Int64Index([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype='int64')
Run Code Online (Sandbox Code Playgroud)

  • 对我来说,它只是打印 `RangeIndex(start=0, stop=3, step=1)`,而不是实际的索引列。 (5认同)
  • @RusI 在后来的 pandas 版本中,索引被重构为“RangeIndex”类型。如果需要值,可以在对象上调用“tolist()”,这只适用于基于“int”的索引 (3认同)

fix*_*xer 12

.index.tolist() 是另一个可以将索引作为列表获取的函数:

In [1391]: datasheet.head(20).index.tolist()
Out[1391]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
Run Code Online (Sandbox Code Playgroud)


小智 8

您可以使用 df.index[i] 访问 df 的索引属性

>> import pandas as pd
>> import numpy as np
>> df = pd.DataFrame({'a':np.arange(5), 'b':np.random.randn(5)})
   a         b
0  0  1.088998
1  1 -1.381735
2  2  0.035058
3  3 -2.273023
4  4  1.345342

>> df.index[1] ## Second index
>> df.index[-1] ## Last index

>> for i in xrange(len(df)):print df.index[i] ## Using loop
... 
0
1
2
3
4
Run Code Online (Sandbox Code Playgroud)