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

为什么引用了数据 但在指定索引后 数据全部为NAN
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- Soda Wang 2021-07-27 19:55关注
我运行的都没有问题。你把结果贴出来看看?
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
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1