我想問一個關(guān)于 python 中 panda 的問題 - 特別是關(guān)于它的DataFrame()功能。我有以下數(shù)據(jù)想要轉(zhuǎn)換為數(shù)據(jù)框:pop = {'Nevada': {2001: 2.4, 2002: 2.9}, 'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}frame3 = pd.DataFrame(pop)我期望嵌套字典的外部鍵是列名稱,內(nèi)部鍵是索引名稱:請注意,解釋器語法是在 Jupyter Notebook Python 3 上運行的 iPython Nevada Ohio2000 NaN 1.52001 2.4 1.72002 2.9 3.6但是,我不斷獲取密鑰排列錯誤的數(shù)據(jù):>> frame3 Nevada Ohio2001 2.4 1.72002 2.9 3.62000 NaN 1.5我似乎無法使索引按我想要的順序出現(xiàn)。為什么會發(fā)生這種情況?我該如何糾正這個問題?奇怪的是,這是我的 Jupyter 筆記本中出現(xiàn)的內(nèi)容:但是當(dāng)使用 的learnpython.orgIDE 時,我得到以下預(yù)期輸出:同樣,在我的 iPython 上觀察到相同的錯誤輸出:
2 回答

翻翻過去那場雪
TA貢獻2065條經(jīng)驗 獲得超14個贊
一種簡單的解決方案可以是:
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)
或者在創(chuàng)建數(shù)據(jù)框后對索引進行排序:
frame3 = pd.DataFrame(pop).sort_index()
結(jié)果就是你想要的:
Nevada Ohio
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6

狐的傳說
TA貢獻1804條經(jīng)驗 獲得超3個贊
您只需將其放入數(shù)據(jù)框中并對其進行排序即可??匆幌逻@個 :
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
添加回答
舉報
0/150
提交
取消