複数の.txtファイルがあります。私は、インポートされ、約20ファイルをインポートし、データフレームを形成するために〜19秒かかります高速化する方法/ .txtファイルを使用して形成されたpythonデータフレームのフィルタリング?
all_files = glob.glob(os.path.join(path, "*.txt"))
np_array_list = []
for file in all_files:
df = pd.read_table(file, index_col = None, header = 0)
np_array_list.append(df.as_matrix())
comb_np_array = np.vstack(np_array_list)
big_frame = pd.DataFrame(comb_np_array)
を使用してPythonのデータフレームを形成するために、それらを組み合わせています。それを行うより速い方法がありますか?
第2に、 データフレームが形成されると、それには約800万行が含まれます。私は第五列の値
私は、次のコードであること達成しています
「とは、その長さが12であり、彼らが 『26』で始まる値」の基準を使用して行をフィルタする必要があります。
big_frame.columns = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight"]
big_frame['Five'] = big_frame['Five'].astype('str')
mask = (big_frame['Five'].str.len() == 12) & (big_frame['Five'].str.startswith('26'))
big_frame = big_frame.loc[mask]
私の条件に一致するすべての値を除外するには、時間がかかります。私はただ1つの.txtファイルでコードを検証しました。 〜3秒ですべての処理を行います。
しかし、できるだけ早くすべてのファイルを処理する必要があります。それを行うためのより良い方法は?データフレームの構築に
おかげで、それは多くを助けました。 –
計算時間が〜1分に短縮されました。私はそれが公正だと思う、それは私のために働く。あなたの応答を感謝します。 –
うれしいことに、うれしいよ! – jezrael