我试图理解以下代码输出的含义:
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
我希望只有一个包含数据帧索引的列表:
['index1,'index2','index3']
然而输出是:
索引([u'index1',u'index2',u'index3'],dtype ='object')
答案 0 :(得分: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
类型的元素'index1',依此类推,dtype是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']