Pythonパンダでread_csvを高速化

Sourajit Roy Chowdhury

Pandasのread_csvメソッドを使用して巨大なcsvファイル(約5000万行)を解析しようとしています。

以下は、私が使用しているコードスニペットです。

df_chunk = pd.read_csv(db_export_file, delimiter='~!#', engine='python', header=None, keep_default_na=False, na_values=[''], chunksize=10 ** 6, iterator=True)

その後、このpd.concatメソッドを使用して、さらに処理するために使用されるデータフレームのセット全体を取得します。

代わりにすべてが正常に機能しています。そのcsvファイルからの読み取り操作は、データフレームの作成に約6分かかります。

私の質問は、同じモジュールとメソッドを使用してこのプロセスを高速化する他の方法はありますか?

以下は、csvファイルとして表示されるサンプルデータです。

155487~!#-64721487465~!#A1_NUM~!#1.000 155487~!#-45875722734~!#A32_ENG~!#This is a good facility 458448~!#-14588001153~!#T12_Timing~!#23-02-2015 14:50:30 458448~!#-10741214586~!#Q2_56!#

前もって感謝します

BFajardo

私はあなたの最良の選択はcsvを分割することだと思います

split -l LINES_PER_FILE YOUR.CSV OUTPUT_NAMES

次に、マルチプロセッシングを使用してすべてのチャンクを読み取ります。あなたは持ってここに例を

import os
import pandas as pd 
from multiprocessing import Pool

# wrap your csv importer in a function that can be mapped
def read_csv(filename):
    'converts a filename to a pandas dataframe'
    return pd.read_csv(filename)


def main():
    # set up your pool
    pool = Pool(processes=8) # or whatever your hardware can support

    # get a list of file names
    files = os.listdir('.')
    file_list = [filename for filename in files if filename.split('.')[1]=='csv']

    # have your pool map the file names to dataframes
    df_list = pool.map(read_csv, file_list)

    # reduce the list of dataframes to a single dataframe
    combined_df = pd.concat(df_list, ignore_index=True)

if __name__ == '__main__':
    main()

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パンダread_csvが高速化

分類Dev

Pythonパンダ-csv結合を高速化

分類Dev

Cython(またはNumpy)でパンダを高速化する方法

分類Dev

C ++でPythonを高速化

分類Dev

パンダread_csvでParserError

分類Dev

iterrowsを置き換えることでパンダコードを高速化

分類Dev

zip圧縮でパンダread_csvを使用する

分類Dev

パンダ-read_csvで時間を読む

分類Dev

パンダのデータフレームでの検索を高速化

分類Dev

パンダ0.10.1でパンダ.read_csvでdtype float32を指定する

分類Dev

Pythonでランダム配列の生成を高速化する方法

分類Dev

パンダの文字列機能を高速化する方法は?

分類Dev

パンダの複雑な機能を高速化

分類Dev

パンダ:多くの文字列検索を高速化

分類Dev

パンダからnumpyへの変換を高速化

分類Dev

Python-パスファインディングを高速化

分類Dev

SQLServerでのランダム選択を高速化する方法

分類Dev

日時のパンダでラムダを使用して適用メソッドを高速化する方法

分類Dev

UWPでのコンパイルを高速化しますか?

分類Dev

パンダでのcsvファイルのこの条件付き行の読み取りを高速化しますか?

分類Dev

Pythonでパンダモジュールのread_csv()をバッチ処理する方法

分類Dev

日時の混合タイムゾーンへの変換を高速化-Pythonパンダ

分類Dev

Pythonでコードを高速化

分類Dev

パンダでread_csvを使用すると精度が失われる

分類Dev

パンダのミリ秒で日付を解析するread_csv

分類Dev

私のPythonコード、パンダライブラリを高速化する方法

分類Dev

URLからパンダread_csv

分類Dev

StringIOとパンダread_csv

分類Dev

パンダのエラーread_csv

Related 関連記事

  1. 1

    パンダread_csvが高速化

  2. 2

    Pythonパンダ-csv結合を高速化

  3. 3

    Cython(またはNumpy)でパンダを高速化する方法

  4. 4

    C ++でPythonを高速化

  5. 5

    パンダread_csvでParserError

  6. 6

    iterrowsを置き換えることでパンダコードを高速化

  7. 7

    zip圧縮でパンダread_csvを使用する

  8. 8

    パンダ-read_csvで時間を読む

  9. 9

    パンダのデータフレームでの検索を高速化

  10. 10

    パンダ0.10.1でパンダ.read_csvでdtype float32を指定する

  11. 11

    Pythonでランダム配列の生成を高速化する方法

  12. 12

    パンダの文字列機能を高速化する方法は?

  13. 13

    パンダの複雑な機能を高速化

  14. 14

    パンダ:多くの文字列検索を高速化

  15. 15

    パンダからnumpyへの変換を高速化

  16. 16

    Python-パスファインディングを高速化

  17. 17

    SQLServerでのランダム選択を高速化する方法

  18. 18

    日時のパンダでラムダを使用して適用メソッドを高速化する方法

  19. 19

    UWPでのコンパイルを高速化しますか?

  20. 20

    パンダでのcsvファイルのこの条件付き行の読み取りを高速化しますか?

  21. 21

    Pythonでパンダモジュールのread_csv()をバッチ処理する方法

  22. 22

    日時の混合タイムゾーンへの変換を高速化-Pythonパンダ

  23. 23

    Pythonでコードを高速化

  24. 24

    パンダでread_csvを使用すると精度が失われる

  25. 25

    パンダのミリ秒で日付を解析するread_csv

  26. 26

    私のPythonコード、パンダライブラリを高速化する方法

  27. 27

    URLからパンダread_csv

  28. 28

    StringIOとパンダread_csv

  29. 29

    パンダのエラーread_csv

ホットタグ

アーカイブ