如何在不转为字符串的前提下将Pandas列中的列表对象首字母大写?
解决Pandas列表列元素首字母大写(不转字符串)
直接通过apply结合列表推导式就能实现需求,全程不会把列表转为字符串,代码如下:
import pandas as pd # 构造你提供的示例数据集 data = { 'Column A': [ ['apple pie', 'banana milkshake', 'chocolate ice cream'], ['chicken noodles', 'lamb chops', 'lime juice'] ], 'Column B': [[], []] } df = pd.DataFrame(data) # 生成处理后的Column B df['Column B'] = df['Column A'].apply(lambda x: [item.title() for item in x])
说明
apply方法会遍历Column A的每一行(每个列表对象)- 列表推导式逐个处理列表内的字符串元素,
str.title()方法会自动把每个单词的首字母大写,完全匹配你要的格式 - 处理后
Column B的元素依然是列表对象,没有做任何字符串转换操作
运行后输出的DataFrame就是你期望的结果:
| Column A | Column B |
|---|---|
| [apple pie, banana milkshake, chocolate ice cream] | [Apple Pie, Banana Milkshake, Chocolate Ice Cream] |
| [chicken noodles, lamb chops, lime juice] | [Chicken Noodles, Lamb Chops, Lime Juice] |
内容的提问来源于stack exchange,提问作者pheonix
相关产品推荐
相关产品推荐

