data={'a':[1,2,3,4],
'b':(5,6,7,8),
'c':np.arange(9,13)}
frame=pd.DataFrame(data,index=['A','B','C','D'],columns=['A','B','C'])
print(frame)
结果为
A B C
A NaN NaN NaN
B NaN NaN NaN
C NaN NaN NaN
D NaN NaN NaN
我运行的都没有问题。你把结果贴出来看看?
In [4]: import numpy as np
...: import pandas as pd
...: ps=pd.Series(range(5),index=['a','b','c','d','e'])
...: ps
...: df=pd.DataFrame(np.arange(9).reshape(3,3),index=['a','b','c'],columns=['A','B','C'])
...: # reindex 创建一个符合新索引的新对象
...: ps=ps.reindex(['a','b','c','d','e','f','g'])
...: ps
...: #列索引重建
...: df.columns=list('123')
In [5]: df
Out[5]:
1 2 3
a 0 1 2
b 3 4 5
c 6 7 8
In [6]: import numpy as np
...: import pandas as pd
...: #利用字典构造dataframe
...: data={'a':[1,2,3,4],
...: 'b':(5,6,7,8),
...: 'c':np.arange(9,13)}
...: frame=pd.DataFrame(data)
...: frame
...: # 通过index查看行索引
...: frame.index
...: #通过columns查看列索引
...: frame.columns
...: #通过value查看值
...: frame.values
...: #指定Index
...: frame=pd.DataFrame(data,index=['A','B','C','D'])
...: frame
...: #指定列索引
...: frame.columns=('A','B','C')
...: frame
Out[6]:
A B C
A 1 5 9
B 2 6 10
C 3 7 11
D 4 8 12
查看文档,当data为dict时,再指定column, 会从已有的columns中选择指定的column.
如果你想要对列进行重命名,可以使用如下代码:
frame.columns=list("ABC")