私の以前のコードは、次のような pandas データフレームのリストのリストでした
rowResults = [ [df, df, df], [df, df, df], ... [df, df, df] ]
results=results.append(rowResults)
すべてのデータフレームにはまったく同じ列があるため、上記のリストを追加すると、データ構造全体が個々のデータフレームと同じ列を持つ単一のデータフレームに変換されました。
パフォーマンスの問題のため、小さなデータフレームをディクショナリに変換しました。大量のデータフレームを作成すると、pandas データフレームで使用されるメタデータ情報を格納する際に何らかのメモリ リークが発生することがわかります。代わりに辞書を使用すると、これは発生しません。
私の新しいコードは次のようになります
rowResults = [ [dict, dict, dict], [dict, dict, dict], ... [dict, dict, dict] ]
results=results.append(rowResults)
上記のコードは、通常の前のケースと同じ効果はありません。最終的なパンダのデータフレームが辞書キーの列と同じ列を持つように、上記の辞書のリストを変換するにはどうすればよいですか? 辞書の場合、私の出力は次のようになります
(Pdb) results
<class 'pandas.core.frame.DataFrame'>
Int64Index: 799 entries, 0 to 798
Data columns:
0 799 non-null values
1 799 non-null values
2 799 non-null values
column1 0 non-null values
column2 0 non-null values
column3 0 non-null values
column4 0 non-null values
お知らせ下さい。