當轉置具有命名索引的 pandas Dataframe 時,前一個索引名稱(用于第一列中的索引)顯示為列名稱的第一個條目。
示例:原始資料幀df_1
| 1800 | 1801 | 1802 | |
|---|---|---|---|
| 國家 | |||
| 德國 | 38.4 | 38.4 | 38.4 |
df_2 = df_1.T
df_2 是
| 國家 | 德國 |
|---|---|
| 1800 | 38.4 |
| 1801 | 38.4 |
| 1802 | 38.4 |
第一個問題。為什么國家現在是 1800、1801 等的指數,是否有更好的轉置選項來避免這種情況?
嘗試重命名索引時
df_2.index.set_names(["year"],inplace=True)
顯示以下結果
| 國家 | 德國 |
|---|---|
| 年 | |
| 1800 | 38.4 |
| 1801 | 38.4 |
| 1802 | 38.4 |
問題二。為什么國家仍然存在以及如何洗掉它?
uj5u.com熱心網友回復:
第一個問題。為什么國家現在是 1800、1801 等的指數,是否有更好的轉置選項來避免這種情況?
'country' 是列軸的名稱/標簽,因為它是轉置前 DataFrame 索引的名稱。
df_2.index.set_names(["year"],inplace=True)問題二。為什么國家仍然存在以及如何洗掉它?
因為您只是更改了轉置 DataFrame 的索引名稱。列軸的名稱(“國家”)保持不變。
如何洗掉它:
您可以使用DataFrame.rename_axis同時更改兩個軸(索引和列)的名稱。如果要洗掉給定軸的名稱,只需傳遞 None。
例如,
# or df_2 = df1.T.rename_axis(index='year', columns=None) if you prefer
>>> df_2 = df_1.rename_axis(index=None, columns='year').T
>>> df_2
Germany
year
1800 38.4
1801 38.4
1802 38.4
uj5u.com熱心網友回復:
Country 是df_1索引的名稱,可以查看:
df_check = df_1.rename_axis(columns=['year'], index=['country'])
print(df_check.index.name, df_check.columns.name)
所以你可以這樣做:
df_1 = df_1.rename_axis(index=None)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/482316.html
上一篇:從舊資料框創建新資料框
下一篇:附加熊貓列資料
