pd.low_memory = False不再有效吗?

时间:2018-10-12 19:25:29

标签: python python-2.7 pandas

我收到标准警告:

sys:1: DtypeWarning: Columns (0,8,93,584) have mixed types. Specify dtype option on import or set low_memory=False.

我无法指定类型,因为数据来自sql的csv。在字符串列中散布着一些NaN,例如...

通常,我有

pd.low_memory=False

几乎每个导入熊猫的文件中都有...,但是由于某些原因有时无法正常工作。

我刚升级到熊猫23,所以可能是其中一部分?

此外,我仍在使用python 2.7 ...

1 个答案:

答案 0 :(得分:0)

我不确定这是否是功能更改;但是您可以将low_memory的参数True的默认值从False更改为pd.read_csv

import io
import pandas as pd
df=pd.read_csv(io.StringIO('\n'.join([str(x) for x in range(1000000)] + ['some string'])))

将返回错误DtypeWarning: Columns (0) have mixed types. Specify dtype option on import or set low_memory=False.

您可以使用functools来纠正此问题:

import io
import pandas as pd
import functools
pd.read_csv = functools.partial(pd.read_csv, low_memory=False)
df=pd.read_csv(io.StringIO('\n'.join([str(x) for x in range(1000000)] + ['some string'])))