pandas中的str使用方法
在 Pandas 中,str
访问器用于对 Series
或 DataFrame
中的字符串数据进行矢量化操作,使其能够像 Python 的字符串方法一样被调用,但支持对整个列或 Series
进行高效处理。
str
只能用于包含字符串类型的 Series
或 DataFrame
的 string
类型列。如果列的类型不是字符串,需要先转换:
df['A'] = df['A'].astype(str)
然后,就可以使用 .str
进行字符串操作。
df['A'].str.upper()
等df['A'].str.startswitch('a')
等
Pandas 的 .str
访问器不会在字符串操作后自动保持 Series
类型,而是可能返回 普通 Python 对象(如 str
)。如果不在每次字符串操作前显式使用 .str
访问器,就会导致后续的方法调用失败。
例如,users["name"].str[1:].str.lower()
是正确的,而 users["name"].str[1:].lower()
则不正确,因为它缺少.lower()
方法之前的第二个 .str
访问器。
1667. 修复表中的名字 - 力扣(LeetCode)
编写解决方案,修复名字,使得只有第一个字符是大写的,其余都是小写的。
import pandas as pd
def fix_names(users: pd.DataFrame) -> pd.DataFrame:
users['name'] = users['name'].str[0].str.upper() + users['name'].str[1:].str.lower()
return users.sort_values(by='user_id')