![](/img/trans.png)
[英]Handling multiple column headers and same column names in csv - pandas/python
[英]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個文件; 所以上述方法需要很長時間。
謝謝
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.