如何将lower()应用于熊猫列?

时间:2019-05-15 21:21:39

标签: python pandas

在pandas数据框中小写所有类似文本的列的正确方法是什么?我正在尝试这种方法

def lowercase(col):
    if isinstance(col, __pandas_object_type__):
        return col.str.lower()
df = df.apply(lowercase)

其中__pandas_object_type__只是一个占位符,用于标识对象类型或字符串类型。我知道日期和时间类似pd.DatetimeIndex,但我找不到适合我的情况的替代方法。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

只需尝试每列并在失败时通过:

for col in df.columns:
    try:
        df[col] = df[col].str.lower()
    except AttributeError:
        pass

这样,您可以避免显式类型检查。

警告:这将采用其中包含字符串的混合类型列,并将非字符串条目替换为NaN