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”,该怎么办。