CSVに含まれるものとデータフレームに含まれるものは、2つのまったく異なるものです。例:9.9
および9.99999999999999
CSVの場合、データフレーム内の同じ量のスペースが必要になります。
とはいえ、データフレーム内のデータは、リスト内のデータよりもはるかに少ないスペースで済みます。リストの作成はメモリ内でコストがかかります。また、データフレームに追加するには、パンダが新しい(より大きな)データフレームを作成し、すべてをコピーしてから、元のデータフレームをガベージコレクションする必要があります。
60000行のデータフレーム(または合計でいくつもの行がある場合でも)を事前に割り当てた方が、おそらくはるかにうまくいくでしょう。例:
data = pd.DataFrame(np.empty((60000,), dtype=[
('x', np.uint8),
('y', np.float64)
]))
次に、dataset
に依存せずに、各行にその行のデータを挿入します リスト:
data.values[count,:] = rowdata_at_count
これはタイプセーフではありませんが、(割り当てが行われていないため)かなり高速なので、rowdata_at_count
を確認してください。 要素が列タイプに対応するリストです。
編集
はい、100行を追加することは、1行の100個の連結のようなものだと思います(各追加は、連結と同じように、テーブルを再割り当てしてコピーする必要があるため)。事前割り当てにより、追加と連結の両方が回避されます。テーブルサイズは変更されず、再割り当てやコピーを行う必要はありません。