使用带有Pandas的TQDM进度条

时间:2017-11-03 02:50:32

标签: python pandas tqdm

使用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'))

4 个答案:

答案 0 :(得分:19)

通过塑形找到长度

for index, row in tqdm(df.iterrows(), total=df.shape[0]):
   print("index",index)
   print("row",row)

答案 1 :(得分:6)

在迭代一些Dataframe行时我使用了类似的东西。

    with tqdm(total=len(list(Df.iterrows()))) as pbar:
        for index, row in Df.iterrows():
                pbar.update(1)

不是最好的,但在它们解决熊猫问题之前一直有效。

答案 2 :(得分:1)

有一个针对tqdm> 4.24的解决方法。 根据{{​​3}}:

    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)

答案 3 :(得分:0)

您可以通过正常读取文件来逐行填充pandas数据框,只需将每个新行添加为数据帧的新行,尽管这比使用Pandas自己的读取方法要慢一些。 / p>