Lea*_*nda 1 python camelcasing dataframe pandas snakecasing
我想更改 Pandas DataFrame 的列标签
['evaluationId' , 'createdAt', 'scheduleEndDate', 'sharedTo', ...]
Run Code Online (Sandbox Code Playgroud)
到
['EVALUATION_ID', 'CREATED_AT', 'SCHEDULE_END_DATE', 'SHARED_TO',...]
Run Code Online (Sandbox Code Playgroud)
我有很多具有此模式“aaaBb”的列,我想创建重命名列的此模式“AAA_BB”
我尝试过类似的东西:
new_columns = [unidecode(x).upper() for x in df.columns]
Run Code Online (Sandbox Code Playgroud)
但我不知道如何创建解决方案。
您可以使用正则表达式str.replace来检测小写字母转换并插入_, then str.upper:
df.columns = (df.columns
.str.replace('(?<=[a-z])(?=[A-Z])', '_', regex=True)
.str.upper()
)
Run Code Online (Sandbox Code Playgroud)
前:
evaluationId createdAt scheduleEndDate sharedTo
0 NaN NaN NaN NaN
Run Code Online (Sandbox Code Playgroud)
后:
EVALUATION_ID CREATED_AT SCHEDULE_END_DATE SHARED_TO
0 NaN NaN NaN NaN
Run Code Online (Sandbox Code Playgroud)