67

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

4 回答 4

158

通过形状找到长度

for index, row in tqdm(df.iterrows(), total=df.shape[0]):
   print("index",index)
   print("row",row)
于 2018-09-13T07:51:23.550 回答
18
with tqdm(total=Df.shape[0]) as pbar:    
    for index, row in Df.iterrows():
        pbar.update(1)
        ...
于 2018-01-19T23:14:28.070 回答
2

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)
于 2018-08-18T12:22:35.437 回答
1

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

于 2017-11-09T20:17:35.063 回答