gpt4 book ai didi

python - 在 python 中绘制 YoY 价格相关性。 (绘制 Dataframe 行的相关性)

转载 作者:行者123 更新时间:2023-12-05 07:08:30 26 4
gpt4 key购买 nike

在尝试用 Python 绘制 DataFrame 的 YoY 相关性的上下文中。问题是如何获得代表每年每一对变量“AAPL”、“IBM”和“MSFT”相关性的 3 个成对相关系数。然后用 matplotlib 绘制它们。

如何按行计算相关性? .corrwith 似乎是建议的内容,但它在这里不起作用。

https://www.geeksforgeeks.org/python-pandas-dataframe-corrwith/

我设法找到了一个 pandas DataFrame,其中每一行代表年份,每个元素代表一年中的累计价格。我想获取累计同比价格的相关性,然后将它们绘制为时间的函数。

数据如下:

             AAPL           IBM         MSFT
Year
2003 333.392142 21429.009979 6585.475002
2004 637.586428 22862.419960 6837.309986
2005 1678.695713 21121.199997 6519.779993
2006 2545.412858 20827.630028 6592.800003
2007 4603.665710 26528.350021 7638.409990
2008 5143.625731 27841.030014 6755.059990
2009 5278.287136 27444.059998 5779.759998
2010 9312.338573 33034.919891 6795.050001

最终的情节应该是这样的,

enter image description here

总结一下这个问题:如何获取以下数据,计算每年的 3 个成对相关性,然后使用 matplotlib 绘制结果?

到目前为止,导入数据和操作数据的代码如下所示。注意yfinance是用来加载数据的,

#!pip install yfinance
import yfinance as yf
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
ticker_Symbol = "AAPL", "MSFT", "IBM"
start_date = '2003-1-01'
end_date = '2010-12-31'

df5 = yf.download(ticker_Symbol,start_date , end_date)
df = df5[["Open"]]

print(df.head(3))

# Index the Year of each Value
df["Year"] = df.index.year
dfYearly = df.groupby(['Year']).sum()
dfYearly = dfYearly["Open"]
dfYearly

最佳答案

您无法计算两个单个数字之间的相关性。

计算相关系数背后的想法是,您可以通过计算数据样本的经验系数来估计一个潜在的“总体”相关系数。但是,如果该样本的大小为 1,则有关任何潜在相关性的信息为零。

因此,如果您想计算各个年份的单独相关系数,您将需要尚未按年份汇总的数据。然后,您实际上可以使用 corrwith 作为每年的聚合方法。

关于python - 在 python 中绘制 YoY 价格相关性。 (绘制 Dataframe 行的相关性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61860224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com