Pandasを使用して大きなデータセットをインポートおよびインデックス化するときに、TQDMプログレスバーを使用できますか?
To_datetimeをインポート、インデックス作成、および使用している5分間のデータの例を次に示します。しばらく時間がかかり、進行状況バーが表示されてうれしいです。
#Import csv files into a Pandas dataframes and convert to Pandas datetime and set to index
eurusd_ask = pd.read_csv('EURUSD_Candlestick_5_m_ASK_01.01.2012-05.08.2017.csv')
eurusd_ask.index = pd.to_datetime(eurusd_ask.pop('Gmt time'))
形状を取得して長さを見つける
for index, row in tqdm(df.iterrows(), total=df.shape[0]):
print("index",index)
print("row",row)
いくつかのDataframe行を繰り返すときに、このようなものを使用しました。
with tqdm(total=len(list(Df.iterrows()))) as pbar:
for index, row in Df.iterrows():
pbar.update(1)
最高ではありませんが、パンダの問題を解決するまでは機能します。
Tqdm> 4.24の回避策があります。 https://github.com/tqdm/tqdm#pandas-integration :
from tqdm import tqdm
# Register `pandas.progress_apply` and `pandas.Series.map_apply` with `tqdm`
# (can use `tqdm_gui`, `tqdm_notebook`, optional kwargs, etc.)
tqdm.pandas(desc="my bar!")
eurusd_ask['t_stamp'] = eurusd_ask['Gmt time'].progress_apply(lambda x: pd.Timestamp)
eurusd_ask.set_index(['t_stamp'], inplace=True)
pandasデータフレームを通常の方法でファイルに読み込み、データフレームに新しい行として新しい行を追加することにより、行ごとにデータフレームを埋めることができますが、これは単に使用するよりもかなり遅くなりますPandas独自の読み取り方法。