【发布时间】:2021-09-30 01:41:05
【问题描述】:
我有一个输入数据集(实际上它是一个 H2o 框架,但它可以转换为 pandas 或 numpy 数组),有超过 6000 万行。我需要用一个值列表对每一行进行减法、乘法和除法,如下所示
Input dataset
Col_0, Col_1, Col_2, Col_3
0.221, 0.331, 0.444, 0.555
0.111, 0.222, 0.333, 0.444
0.555, 0.323, 0.665, 0.999
To be processed with these values from a dictionary
to_sub : [0.0002, 0.000004, 0.34334, 0.000005]
to_mul : [1.333, 1.3433, 2.4334, 3.23232]
to_div : [1.8888, 1.6666, 1.7777, 1.89898]
like below
(Col_0-to_sub[0])*to_mul[0]/to_div[0], (Col_1-to_sub[1])*to_mul[1]/to_div[1], (Col_2-to_sub[2)*to_mul[2]/to_div[2], (Col_3-to_sub[3])*to_mul[3]/to_div[3]
现在,我使用嵌套的 for 循环来处理每一行,其中包含每个数组中的相应值。使用 numpy 或 pandas 或任何其他 python 库在 python 中执行此操作是否有任何其他更有效的方法?也可以使这个过程通用,这意味着输入数据集中的列数和 to_sub、to_mul、to_div 中的值的数量可能因不同的过程而异。但是对于同一进程,列数和数组值的数量将保持不变。
【问题讨论】:
标签: python pandas numpy matrix-multiplication