如何将 tqdm 与数据帧的地图一起使用

How to use tqdm with map for Dataframes

我可以使用带地图功能的 tqdm 进度条循环遍历 dataframe/series 行吗?

具体来说,对于以下情况:

def example(x):
    x = x + 2
    return x

if __name__ == '__main__':
    dframe = pd.DataFrame([{'a':1, 'b': 1}, {'a':2, 'b': 2}, {'a':3, 'b': 3}])
    dframe['b'] = dframe['b'].map(example)

由于 tqdm 与 pandas 的集成,您可以使用 progress_map 函数代替 map 函数。

注意:要使其正常工作,您应该在代码中添加 tqdm.pandas() 行。

所以试试这个:

from tqdm import tqdm

def example(x):
    x = x + 2
    return x

tqdm.pandas()  # <- added this line

if __name__ == '__main__':
    dframe = pd.DataFrame([{'a':1, 'b': 1}, {'a':2, 'b': 2}, {'a':3, 'b': 3}])
    dframe['b'] = dframe['b'].progress_map(example)  # <- progress_map here

这里是documentation reference:

(after adding tqdm.pandas()) ... you can use progress_apply instead of apply and progress_map instead of map