我想问一个关于python中熊猫的问题-特别是它的DataFrame()
函数。
我想将以下数据隐藏到数据框中:
pop = {'Nevada': {2001: 2.4, 2002: 2.9}, 'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}
frame3 = pd.DataFrame(pop)
我希望嵌套字典的外键是列名,而内键是索引名:
请注意,解释器语法是在Jupyter Notebook Python 3上运行的iPython
Nevada Ohio
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
但是,我用错误顺序排列的键不断获取数据:
>> frame3
Nevada Ohio
2001 2.4 1.7
2002 2.9 3.6
2000 NaN 1.5
而且我似乎无法使索引按照我想要的顺序显示。
为什么会这样?我该如何解决?
奇怪的是,这就是我的Jupyter笔记本中显示的内容:
但是当使用learnpython.org
的IDE时,我得到以下预期输出:
再次,在我的iPython上观察到相同的错误输出:
答案 0 :(得分:2)
一个简单的解决方案可以是:
pop = {'Nevada': {2000:np.nan,2001: 2.4, 2002: 2.9}, 'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}
frame3 = pd.DataFrame(pop)
或者在创建数据框后对索引进行排序:
frame3 = pd.DataFrame(pop).sort_index()
结果就是您想要的:
Nevada Ohio
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
答案 1 :(得分:1)
您只需要将其放入数据框中并对其进行排序。检查一下:
pandas_dataframe = pd.DataFrame(pop).sort_index()
print(pandas_dataframe)
Out[128]:
Nevada Ohio
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6