使用带有Pandas的TQDM进度条

ssl*_*k88 16 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'))
Run Code Online (Sandbox Code Playgroud)

Arj*_*ava 36

通过塑造来找到长度

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

  • 我认为这是比@sonance207 更好的解决方案,因为这不会将迭代器转换为列表,而是访问给定的属性。 (3认同)
  • @Giacomo:至少对于我和 tqdm 版本“4.42.0”来说,它也适用于 itertuples。`对于 tqdm.tqdm(df.itertuples(),total=len(df)) 中的 idx_row、col1、col2、...:` (3认同)
  • iterrows 不会大大减慢处理速度吗? (2认同)

son*_*207 6

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

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

不是最好的,但它可以解决大熊猫的问题.

  • `with` 语句确实为您关闭了对象 (5认同)

Zee*_*akW 1

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