假設我有以下資料框:
import pandas as pd
raw_data = {'col1': [23,45,21,45,23],'col2': [3,4,5,22,3],'col3': ['y1', 'y2', 'y3', 'y1', 'y2'],'col4': ['x1', 'x2', 'x3', 'x1', 'x2']}
df = pd.DataFrame(raw_data, columns = ['col1','col2','col3','col4','col5'])
現在我想以編程方式'PRE-'為每個列名添加前綴。'col2''col4'
是否有任何方法/功能可以實作這一目標?
謝謝你的指點
uj5u.com熱心網友回復:
DataFrame.rename與 lambda 函式一起使用:
df = df.rename(columns = lambda x: f'PRE-{x}' if x not in ['col2','col4'] else x)
print (df)
PRE-col1 col2 PRE-col3 col4 PRE-col5
0 23 3 y1 x1 NaN
1 45 4 y2 x2 NaN
2 21 5 y3 x3 NaN
3 45 22 y1 x1 NaN
4 23 3 y2 x2 NaN
uj5u.com熱心網友回復:
我們還可以使用簡單的串列推導:
df.columns = [('' if col in ('col2','col4') else 'PRE-') col for col in df.columns]
輸出:
PRE-col1 col2 PRE-col3 col4 PRE-col5
0 23 3 y1 x1 NaN
1 45 4 y2 x2 NaN
2 21 5 y3 x3 NaN
3 45 22 y1 x1 NaN
4 23 3 y2 x2 NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/414654.html
標籤:
