我将 Pandas 数据框中的字符串转换为标题大小写。但是,当我这样做时,紧跟在撇号之后的任何内容也会变成大写。我该如何纠正这个问题?
df[cols] = df[cols].apply(lambda x: x.str.title())
df['name'] = df['name'].replace("\'S", "\'s")
df.head()
最佳答案
如果您想避免“稍后修复”,一个想法可能是将字符串拆分为每个单词的空格和大写首字母:
df[cols] = df[cols].applymap(
lambda string: ' '.join(map(str.capitalize, string.split()))
)
根据@shriakhilc 有趣的建议,还有一个等效的内置方法可以使用 string.capwords 执行此操作方法:
from string import capwords
df[cols] = df[cols].applymap(capwords)
关于python - Pandas .title() 当字符串有一个 's,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72175418/