首页 > 解决方案 > 将数据帧传递给线程

问题描述

在函数内部,我创建了一个名为 resamp_df 的本地数据框。我正在尝试将此本地数据帧传递给线程函数,作为在其上运行某些算法的参数。这是我的代码:

主功能

if readyForOrder:
    order_thread = threading.Thread(target=order_management, name='thread1', args=resamp_df)
    order_thread.start()

线程函数

def order_management(df):
    global  readyForOrder, order_id, order_id_counter, ltp
    if df.shape[0] >= 3:
         readyForOrder = False
         old_ltp = df.iat[-2, 0]
         new_ltp = df.iat[-1, 0]

但是我的线程没有运行。它会产生以下错误:

TypeError: order_management() takes 1 positional argument but 7 were given

有什么建议可以让它发挥作用吗?

提前致谢

标签: pythonpandasdataframepython-multithreading

解决方案


将参数作为元组传递

args=(resamp_df, )

推荐阅读