如何将tqdm与数据帧映射一起使用

时间:2018-09-03 15:56:09

标签: python-3.x pandas tqdm

我可以使用带有地图功能的tqdm进度条来遍历数据框/系列行吗?

专门针对以下情况:

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)

1 个答案:

答案 0 :(得分:5)

由于tqdm与熊猫的集成,您可以使用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

  

(添加tqdm.pandas()之后)...您可以使用progress_apply代替applyprogress_map   而不是map