這可能不是「完美」的答案,就使用熊貓而言,但可以考慮使用statsmodels
模塊,因爲它有一個可以給出相關係數的對象,以及相應的p-值。
只要你可以得到陣列的順序是正確的(使用GROUPBY,排序等),你可以得到的值:
d1 = [['Alan', 'Turkey', 7],
['Alan', 'Ham', 1],
['Alan', 'Spam', 0]]
df1 = pd.DataFrame(d1, columns=["Category_A", 'Category_B', 'Count'])
d2 = [['Bob', 'Turkey', 2],
['Bob', 'Ham', 9],
['Bob', 'Spam', 12]]
df2 = pd.DataFrame(d2, columns=["Category_A", 'Category_B', 'Count'])
# package import
import statsmodels.api as sm
# regression model
model = sm.OLS(df2['Count'], df1['Count'])
# get results
results = model.fit()
# pearson coefficient, and p-value
r2, pvalue = results.rsquared, results.pvalues.values[0]
OUT: (0.046200873362445494, 0.78505611578264101)
有可能是一個更好的方式來做到這一點,但可以工作。
太謝謝你了!我不擅長熊貓,更多的是一個pyspark傢伙,這非常有幫助! – rjurney
哦,獎勵積分......我該如何拉出索引並在答案表中獲取其列? – rjurney
應用'.reset_index()'。 – DyZ