2017-02-16 2 views

ответ

1

Это зависит от того, какие функции у вас есть, много функций, уже векторизации для кадра данных, таких как +-*/ и т.д., поэтому для выполнения этих функций, вы можете просто сделать Z = X + Y или Z = X - Y и т.д.

Для более общую функцию, вы можете использовать numpy.vectorize, чтобы сделать ее векторизованную версию, а затем применить к двум фреймам данных:

import numpy as np 
import pandas as pd 

X = pd.DataFrame([[1,2], [3,4]]) 
Y = pd.DataFrame([[2,1], [3,3]]) 
​ 
def f(x, y):      # this is a demo function that takes in two ints and 
    return str(x) + str(y)  # concatenate them as str 
​ 
vecF = np.vectorize(f)   # vectorize the function with numpy.vectorize 
​ 
X 
# 0 1 
#0 1 2 
#1 3 4 

Y 
# 0 1 
#0 2 1 
#1 3 3 

pd.DataFrame(vecF(X, Y))   # apply the function to two data frames 

# 0 1 
#0 12 21 
#1 33 43