Python 熊猫-是否可以在列中的引号(";)符号后大写单词?

Python 熊猫-是否可以在列中的引号(";)符号后大写单词?,python,pandas,Python,Pandas,是否可以在列中的引号(“)符号后大写单词 例如: 输入: A | B 1 | Hi "john" 2 | My "mother" lives with my "father 输出: A | B 1 | Hi "John" 2 | My "Mother" lives with my "Father 我正在尝试下一句话,但没有成功: df['B'] = df['B'].apply('. '.join(map(lambda s: s.strip().title(), df['B'].astype(

是否可以在列中的引号(“)符号后大写单词

例如:

输入:

A | B
1 | Hi "john"
2 | My "mother" lives with my "father
输出:

A | B
1 | Hi "John"
2 | My "Mother" lives with my "Father
我正在尝试下一句话,但没有成功:

df['B'] = df['B'].apply('. '.join(map(lambda s: s.strip().title(), df['B'].astype(str).str.split('"')))

这应该适用于多个单词:

df['B'] = df['B'].str.replace(r'"(.+)"', lambda m: m.group(0).title())

如果您需要更复杂的转换,只需定义一个自定义函数并将其插入到
lambda m

的位置,就可以使用多个字:

df['B'] = df['B'].str.replace(r'"(.+)"', lambda m: m.group(0).title())

如果您需要更复杂的转换,只需定义一个自定义函数并将其插入到
lambda m

中,就可以用正则表达式替换它,例如:
df[col].str.replace('[“].”,lambda m:m[0].upper())
@WillemVanOnsem谢谢。如果引用的子字符串有多个单词,如“mr.owen”。您可以将其替换为正则表达式,如:
df[col].str.replace('[“]),lambda m:m[0].upper()
@WillemVanOnsem谢谢。如果引用的子字符串有多个单词,如“mr.owen”,该怎么办。