pandas 将dataframe列中每个单词的首字母大写

kknvjkwl  于 2023-04-04  发布在  其他
关注(0)|答案(2)|浏览(217)

如何将pandas dataframe列中每个单词的首字母大写?例如,我正在尝试进行以下转换。

Column1          Column1
The apple        The Apple
 the Pear   ⟶    The Pear
Green tea        Green Tea
zwghvu4y

zwghvu4y1#

您可以使用str.title

df.Column1 = df.Column1.str.title()
print(df.Column1)
0    The Apple
1     The Pear
2    Green Tea
Name: Column1, dtype: object

另一个非常类似的方法是str.capitalize,但它只大写第一个字母:

df.Column1 = df.Column1.str.capitalize()
print(df.Column1)
0    The apple
1     The pear
2    Green tea
Name: Column1, dtype: object
w8f9ii69

w8f9ii692#

由于pandas字符串方法没有优化,Map等价的Python字符串方法通常比pandas的.str方法更快。例如,要将每个单词的第一个字母大写,可以使用以下方法。

df['Column1'] = df['Column1'].map(str.title)

  Column1          Column1
The apple        The Apple
 the Pear   ⟶    The Pear
Green TEA        Green Tea

另一方面,如果只想大写每个字符串中的第一个字符,那么只对第一个字符调用upper()就可以了。

df['Column1'] = df['Column1'].str[:1].str.upper() + df['Column1'].str[1:]
# or 
df['Column1'] = df['Column1'].map(lambda x: x[:1].upper() + x[1:])

  Column1          Column1
The apple        The apple
 the Pear   ⟶    The Pear
Green TEA        Green TEA

相关问题