如何在数据帧数组上应用numpy vectorize?

时间:2017-09-12 15:40:13

标签: python pandas numpy dataframe vectorization

myfunc在数据帧​​上执行一些处理。我试图通过矢量化myfunc来减少计算时间。每个数据帧都是通过读取一个非常大的文本文件(30 Gigs)来创建的。我尝试创建数据帧数组,然后对myfunc进行向量化,以便它可以应用于数据帧数组,但问题是np.vectorize适用于数据帧的每个单元格而不是整个数据帧。尽管如此,我将一些数据帧列作为数组,np.vectorize将myfunc应用于数组内的每个单元格而不是整个数组。我不确定这是解决这个问题的正确方法。请分享你的想法。谢谢。

import numpy as np
import pandas as pd
def myfunc(a):
    # Do some process on dataframe
    return a*2

vecfunc = np.vectorize(myfunc)

x = pd.DataFrame(np.array([[1,2,3],[1,2,3]]))
y = pd.DataFrame(np.array([[1,2,3],[1,2,3]]))
z = pd.DataFrame(np.array([[1,2,3],[1,2,3]]))


result = vecfunc([x,y,z])
print(result)

0 个答案:

没有答案