亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何創建斯皮爾曼相關性的散點圖或熱圖

如何創建斯皮爾曼相關性的散點圖或熱圖

慕萊塢森 2022-12-27 15:31:47
我有兩個數據框“A”和“B”,每個數據框都有 1000 個值(每列中缺少一些值)。我想計算數據幀的 spearman 相關性并繪制它們。圖可以是散點圖或熱圖。但我不知道該怎么做。任何資源或參考資料都會有所幫助。謝謝。
查看完整描述

2 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

檢查此代碼:


import pandas as pd

import seaborn as sns

import matplotlib.pyplot as plt


A = [...] # insert here your list of values for A


B = [...] # insert here your list of values for B


df = pd.DataFrame({'A': A,

                   'B': B})


corr = df.corr(method = 'spearman')


sns.heatmap(corr, annot = True)


plt.show()

我得到這個相關矩陣:

http://img1.sycdn.imooc.com//63aa9f800001e2b706280472.jpg

該列A與其自身高度相關(顯然,這種情況總是發生),而列A與之間的相關性B非常低。


版本信息:


Python      3.7.0

matplotlib  3.2.1

pandas      1.0.4

seaborn     0.10.1


查看完整回答
反對 回復 2022-12-27
?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

您可以使用seabornjointplot中的函數來繪制數據點。這不僅為您提供了散點圖,還提供了邊際分布。

df = pd.DataFrame({"A": A, "B": B})
sbn.jointplot(x="A", y="B", data=df, alpha=0.2)

http://img1.sycdn.imooc.com//63aa9f93000153fa06080582.jpg

要獲得 spearman 的相關系數,您可以使用模塊中的spearmanr函數scipy:


from scipy.stats import spearmanr

r, p = spearmanr(df["A"], df["B"])

# r = 0.008703025102683665


查看完整回答
反對 回復 2022-12-27
  • 2 回答
  • 0 關注
  • 405 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號