的
拋開美學不談,這里的結構非常清晰,確實和我們的結構一樣df
。特別注意合并的單元格。
現在,假設我們想稍后再從 Excel 檔案中檢索這些資料,并使用pd.read_excel
默認引數。有問題的是,我們最終會一團糟:
df = pd.read_excel('file.xlsx')
print(df)
Unnamed: 0 col_0 A Unnamed: 3 B Unnamed: 5
0 NaN col_1 1.000000 2.000000 1.000000 2.000000
1 idx_0 idx_1 NaN NaN NaN NaN
2 0 1 0.952749 0.447125 0.846409 0.699479
3 NaN 2 0.297437 0.813798 0.396506 0.881103
4 1 1 0.581273 0.881735 0.692532 0.725254
5 NaN 2 0.501324 0.956084 0.643990 0.423855
讓這些資料“恢復原狀”將非常耗時。為了避免這樣的麻煩,我們可以依靠引數index_col
和header
inside pd.read_excel
:
df2 = pd.read_excel('file.xlsx', index_col=[0,1], header=[0,1])
print(df2)
col_0 A B
col_1 1 2 1 2
idx_0 idx_1
0 1 0.952749 0.447125 0.846409 0.699479
2 0.297437 0.813798 0.396506 0.881103
1 1 0.581273 0.881735 0.692532 0.725254
2 0.501324 0.956084 0.643990 0.423855
# check for equality
df.equals(df2)
# True
如您所見,我們在這里進行了“往返”,并index_col
讓它header
一帆風順!
最后的兩個注意事項:
- (次要)
docs
forpd.read_excel
在該部分中包含一個錯字index_col
:它應該merge_cells=True
是 ,而不是merged_cells=True
。 - 該
header
部分缺少類似的評論(或對評論的參考index_col
)。這有點令人困惑。正如我們在上面看到的,兩者的行為完全相同(至少就目前而言)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/524433.html
標籤:熊猫
上一篇:用列中的串列展開資料框
下一篇:如何根據條件在資料框中創建新列