我将Pandas 数据框中的字符串转换为标题大小写.然而,当我这样做的时候,撇号后面的任何内容也会变成大写.我该如何纠正这一点?
df[cols] = df[cols].apply(lambda x: x.str.title())
df['name'] = df['name'].replace("\'S", "\'s")
df.head()
我将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)