我想在熊貓數據框的列上運行一個函數。 語料庫是pd.Dataframe在pandas Dataframe的列上運行函數的有效方法?
import pandas as pd
import numpy as np
from scipy.spatial.distance import cosine
corpus = pd.DataFrame([[3,1,1,1,1,60],[2,2,0,2,0,20], [0,2,1,1,0,0], [0,0,2,1,0,1],[0,0,0,0,1,0]],index=["stark","groß","schwach","klein", "dick"],columns=["d1", "d2", "d3","d4","d5","d6"])
而且我有查詢。查詢是一個熊貓系列。
query = pd.Series([1,1,0,0,0], index=["stark","groß","schwach","klein", "dick"])
現在我想在語料庫和查詢中的每一列上運行餘弦函數。
for column in corpus:
print("Similarity of Documents", column," and query: \n" ,1-cosine(query, corpus[column]))
有沒有更好的方法來運行列上的餘弦函數?也許某種方法可以獲取列並在每列上運行該函數。我想避免for循環。
餘弦函數只是從scipy.spatial.distance scipy.spatial.distance.cosine進口的(U,V) 你和v是數組。 (餘弦計算兩個一維數組之間的距離。) – BenVes
謝謝你,你是對的。我編輯了我的問題。 :) – BenVes