如何在Polars中将列名的首字母转换为大写?
将数据框列名首字母转为大写的快捷方法
以下是几种比手动使用rename()逐个映射更高效的批量处理方法,以Python的Pandas为例:
1. 用str.capitalize()一键转换
这是最简洁的批量处理方式,直接对列名字符串执行首字母大写转换(其余字母会转为小写):
import pandas as pd # 示例数据 df = pd.DataFrame({'name': ['Alice', 'Bob'], 'age': [25, 30], 'email': ['alice@test.com', 'bob@test.com']}) # 批量转换列名 df.columns = df.columns.str.capitalize()
转换后列名会变成Name、Age、Email。
2. 保留原列名其余字母的大小写
如果你的列名有特殊大小写格式(比如userName、orderID),不想让其余字母被转小写,可以用自定义lambda函数:
df.columns = df.columns.map(lambda col: col[0].upper() + col[1:] if len(col) > 0 else col)
这种方式只会把首字母转大写,原列名的其他字符保持不变。
3. 结合rename()的批量写法
你提到了rename(),其实不用逐个指定列名映射,用lambda函数批量处理更高效:
df = df.rename(columns=lambda col: col.capitalize()) # 或者用保留原大小写的版本 df = df.rename(columns=lambda col: col[0].upper() + col[1:] if col else col)
4. 多单词列名的处理(如下划线分隔)
如果你的列名是用下划线/空格分隔的多单词格式(比如user_name、order_date),可以用str.title()把每个单词的首字母都大写:
df.columns = df.columns.str.title()
转换后列名会变成User_Name、Order_Date。
内容的提问来源于stack exchange,提问作者aiv
相关产品推荐
相关产品推荐

