OverflowError:Python int太大而无法转换为C long - 在Pandas中加载Stata dta时

时间:2016-01-15 15:49:16

标签: python pandas stata

我使用以下代码(请参阅此处Pandas read_stata() with large .dta files)在Python中加载非常大的Stata数据集(20GB)。我的机器有128 GB RAM。

def load_large_dta(fname):
   import sys

    reader = pd.read_stata(fname, iterator=True)
    df = pd.DataFrame()

    try:
        chunk = reader.get_chunk(100*1000)
        while len(chunk) > 0:
            df = df.append(chunk, ignore_index=True)
            chunk = reader.get_chunk(100*1000)
            print '.',
            sys.stdout.flush()
    except (StopIteration, KeyboardInterrupt):
        pass

    print '\nloaded {} rows'.format(len(df))

   return df

问题是:我收到以下错误:

  

OverflowError:Python int太大而无法转换为C long

你知道如何解决这个问题吗?

0 个答案:

没有答案