Python 错误相关性
我不熟悉python和pandas/matplotlib。我试图计算迪斯尼和Netflix两个收盘价之间的相关性(作为一个例子),但不确定我是否做得正确?当我输出如下图所示的数据时,它看起来很奇怪,并不像我预期的那样(因为我预期它是显示两支股票之间相关性的一行) 计算两个收盘股价之间相关性的最佳/最简单方法是什么,以及如何使产出看起来更好?任何提示或帮助都将不胜感激Python 错误相关性,python,pandas,matplotlib,Python,Pandas,Matplotlib,我不熟悉python和pandas/matplotlib。我试图计算迪斯尼和Netflix两个收盘价之间的相关性(作为一个例子),但不确定我是否做得正确?当我输出如下图所示的数据时,它看起来很奇怪,并不像我预期的那样(因为我预期它是显示两支股票之间相关性的一行) 计算两个收盘股价之间相关性的最佳/最简单方法是什么,以及如何使产出看起来更好?任何提示或帮助都将不胜感激 如果只需要两列之间的相关性,可以使用scipy中的内置模块,该模块返回皮尔逊相关性和p值 试试这个: #input test da
如果只需要两列之间的相关性,可以使用
scipy
中的内置模块,该模块返回皮尔逊相关性和p值
试试这个:
#input test data
>>> newData
DIS NFLX
0 0.620575 0.122005
1 0.124085 0.380087
2 0.286652 0.218533
3 0.569696 0.511214
4 0.081106 0.114614
5 0.223516 0.677468
6 0.226528 0.474243
7 0.998798 0.099523
8 0.994585 0.429352
9 0.277520 0.882989
>>> from scipy import stats
>>> corr, p_value = stats.pearsonr(newData['DIS'].values, newData['NFLX'].values)
>>> print(corr)
-0.25752281938162824
它不返回任何有故障的内容df.corr()
返回一个平方相关矩阵,如果有多个特征/变量,该矩阵非常有用。您始终可以通过和提取df['DIS']
和df['NFLX']
之间的相关性:
通过使用熊猫,您可以立即使相关矩阵看起来更好:
如果你想让相关矩阵看起来更好。您可以使用seaborn名为的热图功能。以下是一个例子:
import matplotlib.pyplot as plt
import seaborn as sns
sns.heatmap(newData.corr(),annot=True, lw=2, cmap='coolwarm')
plt.show()
输出:
不,你的答案是对的。你从中了解到,这叫做相关矩阵
请提供数据帧的示例。如果你的数据帧只包含收盘价,你做得很正确哦,好的,谢谢。有没有办法阻止它在实际矩阵之前连续两次打印世界“符号”?(如上图所示)。0.02是弱相关性,对吗?(因为这是2%)第一个问题你可以问我提到的一个绘制协作矩阵的技术人员组织得很好,不需要任何组织。第二个问题相关性理解相关性的一个简单方法是使用散点图绘制两列,例如,如果我们有相关性。70在x和y之间,这意味着当x增加,y增加,所以你依赖它,它对你来说是不是很弱,一般的答案是肯定的,如果你觉得方便的话,请别忘了给我的答案投票。我有一个答案,让我知道它是否适合你。如果答案是正确的,请勾选并向上投票。只需回答您下面的评论:
newData.corr()
似乎是一个多级数据帧。然后,我可以考虑使用newData.droplevel(0,axis=0)
和newData.columns=['DIS','NFLX']删除额外的符号。此外,是的,0.02是非常弱的相关性或无相关性。通常,0.50或更高表示强相关性。
newData.corr().style.background_gradient(cmap='viridis')
import matplotlib.pyplot as plt
import seaborn as sns
sns.heatmap(newData.corr(),annot=True, lw=2, cmap='coolwarm')
plt.show()