Python 从2700万行创建数据帧

Python 从2700万行创建数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个2700万元组的列表,现在我想从这个元组创建一个数据帧,但问题是,它花费了太多的时间,并且系统被卡住了 单个元组中的数据是('C0000005'、'RB'、'C0036775'、'') 这个列表是包含appx的tablelist。2700万行,这就是我创建数据帧的方式 df_table = pd.DataFrame(tablelist,columns= ['a','b','c','d']) 如何以高效的方式创建数据帧?确保您的计算机不进行交换 以下是我的时间安排: In [175]:

我有一个2700万元组的列表,现在我想从这个元组创建一个数据帧,但问题是,它花费了太多的时间,并且系统被卡住了

单个元组中的数据是
('C0000005'、'RB'、'C0036775'、'')
这个列表是包含appx的tablelist。2700万行,这就是我创建数据帧的方式

df_table = pd.DataFrame(tablelist,columns= ['a','b','c','d'])

如何以高效的方式创建数据帧?

确保您的计算机不进行交换

以下是我的时间安排:

In [175]: l = [('C0000005', 'RB', 'C0036775', '')] * 27000000

In [176]: len(l)
Out[176]: 27000000

In [177]: %timeit pd.DataFrame(l, columns=list('abcd'))
1 loop, best of 3: 2.95 s per loop


您是否尝试过通过CSV文件执行此操作?您是否绝对需要数据帧?有没有一种不用表格就能完成任务的方法?@not_a_机器人一个表格就好了,但是有没有其他快速处理的方法?
In [179]: df = pd.DataFrame(l, columns=list('abcd'))

In [180]: df.shape
Out[180]: (27000000, 4)

In [181]: df.memory_usage()
Out[181]:
Index           80
a        216000000
b        216000000
c        216000000
d        216000000
dtype: int64

In [182]: df.memory_usage().sum()
Out[182]: 864000080

In [183]: df.memory_usage().sum()/1024**3
Out[183]: 0.8046627789735794