2016-07-25 83 views
0

我想明白以下代码的输出的含义含义:大熊猫数据框中:的的.index

import pandas as pd 

index = ['index1','index2','index3'] 
columns = ['col1','col2','col3'] 
df = pd.DataFrame([[1,2,3],[1,2,3],[1,2,3]], index=index, columns=columns) 
print df.index 

我希望只是包含数据框的索引列表:

[ '索引1, '索引2', 'INDEX3']

然而输出为:

指数([u'index1',u'index2' ,u'index3 '],D型细胞=' 对象“)

回答

0

这是pandas.Index对象漂亮的输出,如果你看的类型它显示了类类型:

In [45]: 
index = ['index1','index2','index3'] 
columns = ['col1','col2','col3'] 
df = pd.DataFrame([[1,2,3],[1,2,3],[1,2,3]], index=index, columns=columns) 
df.index 

Out[45]: 
Index(['index1', 'index2', 'index3'], dtype='object') 

In [46]: 
type(df.index) 

Out[46]: 
pandas.indexes.base.Index 

那么它显示的是你有一个Index类型与元素的索引1“和以此类推,D型是object这是str

,如果你没有通过你的字符串列表,你所得到的默认INT指数,这是新类型RangeIndex指数:

In [47]: 
df = pd.DataFrame([[1,2,3],[1,2,3],[1,2,3]], columns=columns) 
df.index 

Out[47]: 
RangeIndex(start=0, stop=3, step=1) 

如果你想要的值的列表:

In [51]:  
list(df.index) 

Out[51]: 
['index1', 'index2', 'index3'] 
+0

为什么D型是一个“对象”,而不是更具体的东西(如STR,列表等)? – qstax

+0

它来自'numpy':http://docs.scipy.org/doc/numpy/reference/arrays.scalars.html因此,它基本上是如何表示'dtype',因为它不是基本类型,所以不是boolean,int, float,datetime,category,所以str,lists,dicts,sets都会被集成到'object'中 – EdChum