熊猫跑得特别慢

时间:2019-11-15 11:09:16

标签: python pandas

我正在尝试使用熊猫读取tsv文件(0.5gb),但似乎无法正常工作。我已将代码简化为最简单的形式,但仍然没有运气:

import pandas as pd
import os


rawpath = 'my path'
filename = 'my file name'
finalfile = os.path.join(rawpath, filename)

df = pd.read_csv(finalfile, nrows=5000, sep='\t')
print(df.head())

我尝试对文件进行分块,但是没有运气,read_table也无法正常工作。我进去并释放了机器上尽可能多的内存,但是当我最终收到Pycharm的任何输出时,它说:

pandas.errors.ParserError:标记数据时出错。 C错误:内存不足

有人可以帮助吗?

1 个答案:

答案 0 :(得分:0)

尝试设置dtype = object和na_values =“您的NA格式”(可选,如果您知道的话)

此外,请确保您使用了正确的分隔符。

类似:


df = pd.read_csv(finalfile, nrows=5000, sep='\t', dtype=object, na_values = '-NaN')

编辑: 另外,您提到将文件分块。我不确定您的意思是什么,但是我会提到您可以直接使用熊猫而不是长眉大块。最终代码:

mylist = []

for chunk in  pd.read_csv(finalfile, sep='\t', dtype=object, na_values = '-NaN', chunksize=100):
    mylist.append(chunk)

big_data = pd.concat(mylist, axis= 0)
del mylist