簡體   English   中英

python pandas以相同的方式重命名多個列標題

[英]python pandas rename multiple column headers the same way

考慮一個簡單的df:

HeaderA | HeaderB | HeaderC 
    476      4365      457

有沒有辦法重命名所有列,例如最后添加到所有列的“X”?

HeaderAX | HeaderBX | HeaderCX 
    476      4365      457

我正在連接多個數據幀,並希望根據它們來自哪個數據集輕松區分列。

或者這是唯一的方法嗎?

df.rename(columns={'HeaderA': 'HeaderAX'}, inplace=True)

我有超過50個列標題和10個文件; 所以上述方法需要很長時間。

謝謝

pd.DataFrame.add_suffix

df.add_suffix('X')

   HeaderAX  HeaderBX  HeaderCX
0       476      4365       457

和妹妹的方法
pd.DataFrame.add_prefix

df.add_prefix('X')

   XHeaderA  XHeaderB  XHeaderC
0       476      4365       457

您還可以使用pd.DataFrame.rename方法並傳遞函數。 要完成同樣的事情:

df.rename(columns='{}X'.format)

   HeaderAX  HeaderBX  HeaderCX
0       476      4365       457

在這個例子中, '{}X'.format是一個函數,它接受一個參數並附加一個'X'

此方法的優點是,如果您選擇,可以使用inplace=True

來自SO post 讓我們嘗試在重命名中使用lambda函數:

df.rename(columns = lambda x:x +'X',inplace = True)

df.columns = [column + 'X' for column in df.columns]
df.columns = list(map(lambda s: s+'X', df.columns))

暫無
暫無

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

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