Pythonでループプロセスを高速化する方法は?
約1800000レコードを含むデータフレームオブジェクトがあります。列2にはテキストデータが含まれています。
iloc
2番目の列(テキスト列)とすべての行を使用して選択し、データフレームを1次元のnumpy配列に変換します。
ループ内では、テキスト列の値を連結して変数に格納しています。
その苦痛、1800000レコードの多数の配列を反復するのに膨大な時間(1時間で100000回以上反復することができます)を要します。助けてください。私はPythonプログラミングに不慣れです。
コードを見ると、2番目の列を1つの大きなテキストファイルに折りたたんでいるように見えますか?もしそうなら、これを試してください:
corpus = DataSet.iloc[:,2].str.cat(sep=", ")
データフレームで文字列コマンドを使用する場合は、先頭に「.str」を付ける必要があります。猫()メソッドは、テキストの1つのブロブにpandas.Series内のテキストを結合します。データフレームの列を1つだけ選択すると、データフレームとは異なるメソッドを持つパンダシリーズが返されます。
合計コードは次のとおりです。
DataSet = pd.read_csv('yourfilename.csv')
Corpus = DataSet.iloc[:,2].str.cat(sep=", ") # no braces around the 2
# that's it.
'sep'引数はテキスト間の区切り文字であり、これを必要なものに設定できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加