2017-03-23 4 views
0

私はパンダで5千万行のデータフレームを扱っています。私は列を通過し、テキストの特定の部分を抽出する必要があります。列には4つまたは5つのパターンで定義された文字列値があります。私はテキストを抽出し、元の文字列を置き換える必要があります。私はこのためにapply関数と正規表現を使用しています。これは実行するのに一日近くかかります。私はこれが非効率的だと感じます。それともこれは普通ですか?それを速くするために欠けているアプローチがありますか?パンダで5千万の行を処理する(Python)

+0

多くのコードを貼り付けて「助けて」と言うのは、一般的には眉をひそめます!もっと良いことに、*** [MCVE](http://stackoverflow.com/help/mcve)***を読んで、他の人があなたを助けてくれる情報であなたの質問を編集してください。 – piRSquared

答えて

0

はここにドキュメントです:

http://pandas.pydata.org/pandas-docs/stable/indexing.html

http://pandas.pydata.org/pandas-docs/stable/text.html#extracting-substrings

交換テキストは簡単です。いいえ一日は正常ではありません。この投稿の以前のバージョンで持っていたすべてのリストを取り除く。あなたはそれらを必要としません。データのスペースがさらに必要な場合は、データフレームに列を追加します。データ型を学習してデータを小さくします。

import pandas as pd 
df = pd.DataFrame() #import your data at this step 
df['column'].str.extract(regex_thingy_here) 

私は詳細を書いていますが、コードを削除しました。

+0

入力いただきありがとうございます。それは本当にうまくいって、5分以内に仕事を終えることができます。私は最後のステップとしてstr.extract関数を使用しましたが、仕事を簡単にするためには重要でした。もう一度ありがとう!私の返答が遅れて申し訳ありません。 – Vatsan28

+0

それはうまくいった。フィードバックいただきありがとうございます。 – Back2Basics

関連する問題