簡體   English   中英

如何使用包含特殊字符的名稱重命名pandas數據框?

[英]How to rename pandas dataframe with a name that includes special characters?

我正在讀取一個Excel文件,並將內容轉儲到pandas數據框中。 我正在使用sqlalchemy將整個數據框上傳到MySQL數據庫。

在功能上一切正常,但是當我嘗試上載包含%符號的excel文檔時遇到了一個問題。

我的功能之一是使用row [0]重命名數據幀的標頭,刪除row [0],然后重新索引。

當我嘗試讀取此數據幀時,會引發錯誤,指出存在非法的十六進制字符(%),這是正確的。

我不想修改此列名,因為它是我上載的excel文件中出現的方式,並且數據庫希望它保持不變。

如何獲得熊貓數據框以接受列名稱中的特殊(%)字符? 例如,“銷售額占總數的百分比”

example data:
         [0]           [1]
    [0] Sales | Sales % of Total
    [1] $100  |        50%

dataframe.rename(columns=dataframe.iloc[0]).drop(dataframe.index[0]).reset_index(drop=True)

expected output:
       [Sales]  [Sales % of Total]
    [0] $100  |        50%

引發錯誤:

URLDecover:轉義(%)模式中的非法十六進制字符-索引0錯誤

嘗試此操作(將“ df”替換為您的數據框稱為:

df.rename(columns={0:'Sales', 1:'Sales % of Total'}, inplace=True)

有關詳細信息,請參見下面的圖片。

在此處輸入圖片說明

您也可以簡單地使用

df.columns = ['Sales','Sales % of Total']

根據需要定義列名稱。

您也可以在閱讀excel文件時考慮使用此技巧,以避免重命名標頭,刪除和重新編制索引步驟。

Python熊貓,如何讀取沒有列標簽的Excel文件,然后插入列標簽?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM