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