Python 从2700万行创建数据帧
我有一个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]:
('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