groupby 中如何显示 tqdm 的进度条?

在循环时调用 tqdm 显示进度已经是一个常规操作,常见的方式是

for ii in tqdm(...):
	...

while 循环的情况类似,

while icnt in tqdm(range(n)):
	...
	icnt += 1

这里记录没有显式循环时,在 groupby 中的用法:

import pandas as pd
import numpy as np
from tqdm import tqdm

df = pd.DataFrame(np.random.randint(0, 100, (100000, 6)))

# 用 tqdm注册 pandas.progress_apply 和 pandas.Series.map_apply 两个函数,下边的 'my bar1' 可以换成其他说明文字。
tqdm.pandas(desc="my bar!")

# 接下来可以用 progress_apply 代替原本的 dataframe.apply,用 progress_map 代替原本的 dataframe.map
df2 = df.iloc[:, 0].progress_apply(lambda x: x**2)
my bar!: 100%|██████████| 100000/100000 [00:00<00:00, 596835.61it/s]

或者在 groupby 中使用自定义函数:

def calc_x(x):
    return x ** 2
df2 = df.groupby(1).progress_apply(calc_x)
my bar!: 100%|██████████| 100/100 [00:00<00:00, 374.56it/s]

参考资料:
https://pypi.org/project/tqdm/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值