问题描述:
在用python给dataframe添加数据的过程中,我们经常使用append()方法往dataframe中一行一行的添加数据。但是当数据过多时,append()方法效率变得地下。近期我需要处理350,000行的数据,需要对其中的每一行做处理,组装成新的一行,再使用append()把新组装的一行添加至新的dataframe。
在MacBook上用Pycharm运行了8个小时,只执行了append()约110,000行,这个速度是无法接受的。所以需要找到一种更快的组装dataframe的方法。
以下同样添加300,000行数据至dataframe中,案例一是原始方法,案例二是改进后的方法。
案例一、失败,耗时,耗内存,随着数据增加,速度慢得不能接受:
总耗时约30分钟:
import pandas as pd
from datetime import datetime
import random
column_name = ['a', 'b', 'c', 'd']
test_df = pd.DataFrame(columns=column_name)
start_time = datetime.now()
for index in range(0, 300000):
print(index)
test_df=test_df.append({'a':random.randint(0, 9), 'b':random.randint(0, 9), 'c':random.randint(0,