我将Pandas 数据框中的字符串转换为标题大小写.然而,当我这样做的时候,撇号后面的任何内容也会变成大写.我该如何纠正这一点?

df[cols] = df[cols].apply(lambda x: x.str.title())
df['name'] = df['name'].replace("\'S", "\'s")
df.head()

enter image description here

推荐答案

如果你想避免"后期修复",一个方法是在每个单词的空格和大写首字母上拆分字符串:

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相关问答推荐

为什么以这种方式调用pd.ExcelWriter会创建无效的文件格式或扩展名?

OR—Tools CP SAT条件约束

删除marplotlib条形图上的底边

旋转多边形而不改变内部空间关系

基于多个数组的多个条件将值添加到numpy数组

Polars map_使用多处理对UDF进行批处理

mdates定位器在图表中显示不存在的时间间隔

如何将返回引用的函数与pybind11绑定?

获取git修订版中每个文件的最后修改时间的最有效方法是什么?

如何获取包含`try`外部堆栈的`__traceback__`属性的异常

以极轴表示的行数表达式?

将像素信息写入文件并读取该文件

具有不匹配列的2D到3D广播

查找数据帧的给定列中是否存在特定值

为什么在不先将包作为模块导入的情况下相对导入不起作用

我如何为测试函数的参数化提供fixture 生成的数据?如果我可以的话,还有其他 Select 吗?

如何删除剪裁圆的对角线的外部部分

有什么方法可以在不对多索引DataFrame的列进行排序的情况下避免词法排序警告吗?

Python键盘模块不会立即检测到按键

使用Python下载pdf url