在pandas数据框中小写所有类似文本的列的正确方法是什么?我正在尝试这种方法
def lowercase(col):
if isinstance(col, __pandas_object_type__):
return col.str.lower()
df = df.apply(lowercase)
其中__pandas_object_type__
只是一个占位符,用于标识对象类型或字符串类型。我知道日期和时间类似pd.DatetimeIndex
,但我找不到适合我的情况的替代方法。
感谢您的帮助
答案 0 :(得分:2)
只需尝试每列并在失败时通过:
for col in df.columns:
try:
df[col] = df[col].str.lower()
except AttributeError:
pass
这样,您可以避免显式类型检查。
警告:这将采用其中包含字符串的混合类型列,并将非字符串条目替换为NaN
。