我想在熊猫数据框的列上运行一个函数。 语料库是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