可以使用 apply 方法和 concurrent.futures 库来实现多线程地将函数应用于 DataFrame 中某一列。具体步骤如下:

  1. 导入 concurrent.futures 库。
import concurrent.futures
  1. 定义需要应用于 DataFrame 的函数。
def my_function(x):
    # 这里是函数的具体实现
    return x * 2
  1. 创建 concurrent.futures.ThreadPoolExecutor 对象,指定线程数量。
executor = concurrent.futures.ThreadPoolExecutor(max_workers=4)
  1. 使用 apply 方法和 executor.map 方法来多线程地应用函数。
import pandas as pd

# 创建测试数据
data = {'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)

# 多线程地应用函数
df['B'] = list(executor.map(my_function, df['B']))

print(df)

运行结果如下:

   A    B
0  1   20
1  2   40
2  3   60
3  4   80
4  5  100
Pandas 多线程应用函数于 DataFrame 列:使用 concurrent.futures

原文地址: https://www.cveoy.top/t/topic/og4X 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录