gpt4 book ai didi

python - Pandas:混合数据类型的列;如何找到异常(exception)

转载 作者:太空宇宙 更新时间:2023-11-04 08:37:34 24 4
gpt4 key购买 nike

我有一个大数据框,在读取它时,它给了我这个消息:DtypeWarning:列 (0,8) 具有混合类型。导入时指定 dtype 或设置 low_memory=False。

它应该是一列 float ,但我怀疑里面有一些字符串。我想识别它们,并可能删除它们。

我试过了df.apply(lambda 行: isinstance(row.AnnoyingColumn, (int, float)), 1)

但这给了我一个内存不足的错误。

我想一定有更好的方法。

最佳答案

这将为您提供 True if float:

df.some_column.apply(lambda x: isinstance(x, float))

这将为您提供 True if int 或 string:

df.some_column.apply(lambda x: isinstance(x, (int,str)))

因此,要删除字符串:

mask = df.some_column.apply(lambda x: isinstance(x, str))
df = df[~mask]

删除 float 和字符串的示例:

$ df = pd.DataFrame({'a': [1,2.0,'hi',4]})
$ df
a
0 1
1 2
2 hi
3 4

$ mask = df.a.apply(lambda x: isinstance(x, (float,str)))
$ mask
0 False
1 False
2 True
3 False
Name: a, dtype: bool

$ df = df[~mask]
$ df
a
0 1
3 4

关于python - Pandas:混合数据类型的列;如何找到异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47660384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com