1
我有一個向量,我想應用皮爾遜相關性的熊貓數據框的所有行。我嘗試以下操作:使用適用於熊貓數據框給出ValueError
df.apply(apply_func, axis=1, args=(np.array([1,2,3])), raw=True)
應用FUNC只是需要兩個numpy
陣列和計算相關
def apply_func(v1, v2):
#do stuff
不過,我得到以下錯誤,當我嘗試運行此
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我在apply_func
設置了斷點,我從來沒有進入它。我確定我錯誤地使用了這個結構,但我不確定它是什麼。我認爲df
的每一行將作爲第一位置參數傳遞給apply_func
,並且args
中的任何一行都將佔用餘下的部分。這是不正確的?
編輯我在下面創建了一個簡單的例子,在這個例子中,apply_func
函數應該只添加兩個向量。還是創造了同樣的錯誤
data = {'k1': [1, 2, 3], 'k2': [4, 5, 6], 'k3': [7, 8, 9]}
df = pd.DataFrame(data)
def apply_func(v1, v2):
return v1 + v2
df.apply(apply_func, axis=1, args=(np.array([1,2,3])), raw=True)