![](/img/trans.png)
[英]Python: How do I 'demote' a column header to be a row and rename column headers (without replacing the original column headers)?
[英]Python/Pandas - How do I rename a column header in a DataFrame, without losing the existing data within the column header?
我正在從一個網站讀取多個 HTML 表格,其中一個表格錯誤地將表格中的第一行數據作為 DataFrame 的標題。
這段代碼:
list_addition = pd.read_html('https://www.espn.com/college-football/team/stats/_/id/87/season/2020')
list_addition[8].head()
產生下表:
Index Drew White LB
0 Asmar Bilal LB
1 Jeremiah Owusu-Koramoah LB
2 Alohi Gilman S
3 Jalen Elliott S
4 Khalid Kareem DL
我希望能夠將數據的第一個標題移動到 DataFrame 中,並重命名該列,而不會丟失數據。 請參閱下面的理想輸出:
Index Name
0 Drew White LB
1 Asmar Bilal LB
2 Jeremiah Owusu-Koramoah LB
3 Alohi Gilman S
4 Jalen Elliott S
配置 pd.read_html 以排除標題不是一個選項,因為我從同一個網站拉出多個表,而所有其他表都正確拉出標題。 我也無法執行 list_addition.rename(columns="Name"),因為我不想丟失第一行信息。
我希望最簡單的方法是創建一個新列“名稱”,使用shift
或 offset 將數據向下移動一行。 然后你硬編碼將列標簽分配給 row[0]。
這些步驟中的每一個在許多地方都有很好的記錄,因此我將編碼留給讀者作為練習。 :-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.