pandas to sql - 保留从熊猫内存到 postgres 的行顺序

时间:2020-12-22 11:45:04

标签: python pandas postgresql

经过大量处理后,我在内存中有一个 Pandas 数据框。在此过程之后,我根据 1 列对数据框进行排序。

但是,当我将此数据帧写入 Postgres 表时,有时行的顺序没有保留,就像在 Pandas 内存中一样。

我该如何解决?

代码片段:

result_df = result_df.sort_values(by=['D1RowNr'])

result_df.to_sql(table_name,engine, schema = schema, 
                 if_exists='replace', index= False, 
                 method = 'multi', chunksize = 300)
        

数据大小:~3000 Rows X ~90 Columns,因此我使用 method= 'multi'chucksize = 300。没有这些参数,需要很多时间,有时机器会死机。

1 个答案:

答案 0 :(得分:1)

我建议在数据框中添加一个具有所需顺序的额外列,然后在您的 SORT BY 中添加 SQL

result_df['Order'] = result_df.reset_index().index

创建一个从 0 到 len(result_df) 的额外列,您可以轻松地使用它在 SQL 数据库中进行排序。

相关问题