如何在python中获得表之间的相关性?
我正在尝试获取表之间的关联(csv),有什么方法可以用python实现吗?如果不是,我该怎么做才能得到我的表之间的相关性?我的表包括棕榈油、黄金、美元idr、石油和更多的价格。提前谢谢,如果我的问题很难理解,很抱歉! 这是我的表格,实际上所有表格都包含300个数据 棕榈油如何在python中获得表之间的相关性?,python,pandas,jupyter,correlation,Python,Pandas,Jupyter,Correlation,我正在尝试获取表之间的关联(csv),有什么方法可以用python实现吗?如果不是,我该怎么做才能得到我的表之间的相关性?我的表包括棕榈油、黄金、美元idr、石油和更多的价格。提前谢谢,如果我的问题很难理解,很抱歉! 这是我的表格,实际上所有表格都包含300个数据 棕榈油 month price change 0 Aug 1995 616.00 - 1 Sep 1995 586.00 -4.87 % 2 Oct 19
month price change
0 Aug 1995 616.00 -
1 Sep 1995 586.00 -4.87 %
2 Oct 1995 615.00 4.95 %
3 Nov 1995 607.00 -1.30 %
4 Dec 1995 590.00 -2.80 %
5 Jan 1996 535.00 -9.32 %
6 Feb 1996 518.00 -3.18 %
7 Mar 1996 519.00 0.19 %
8 Apr 1996 562.00 8.29 %
9 May 1996 552.00 -1.78 %
10 Jun 1996 508.00 -7.97 %
11 Jul 1996 476.00 -6.30 %
12 Aug 1996 513.00 7.77 %
13 Sep 1996 545.00 6.24 %
14 Oct 1996 532.00 -2.39 %
15 Nov 1996 550.00 3.38 %
16 Dec 1996 561.00 2.00 %
17 Jan 1997 567.00 1.07 %
18 Feb 1997 580.00 2.29 %
19 Mar 1997 559.00 -3.62 %
20 Apr 1997 562.00 0.54 %
21 May 1997 553.00 -1.60 %
22 Jun 1997 533.00 -3.62 %
23 Jul 1997 498.00 -6.57 %
24 Aug 1997 504.00 1.20 %
25 Sep 1997 525.00 4.17 %
26 Oct 1997 547.00 4.19 %
27 Nov 1997 556.00 1.65 %
28 Dec 1997 566.00 1.80 %
29 Jan 1998 621.00 9.72 %
30 Feb 1998 659.00 6.12 %
31 Mar 1998 671.00 1.82 %
32 Apr 1998 688.00 2.53 %
33 May 1998 705.00 2.47 %
34 Jun 1998 633.00 -10.21 %
35 Jul 1998 661.00 4.42 %
36 Aug 1998 674.00 1.97 %
37 Sep 1998 703.00 4.30 %
38 Oct 1998 694.00 -1.28 %
39 Nov 1998 681.00 -1.87 %
40 Dec 1998 663.00 -2.64 %
41 Jan 1999 632.00 -4.68 %
42 Feb 1999 561.00 -11.23 %
43 Mar 1999 497.00 -11.41 %
44 Apr 1999 509.00 2.41 %
45 May 1999 475.00 -6.68 %
46 Jun 1999 392.00 -17.47 %
47 Jul 1999 319.00 -18.62 %
48 Aug 1999 354.00 10.97 %
49 Sep 1999 388.00 9.60 %
50 Oct 1999 381.00 -1.80 %
福斯法特
month price change
0 Aug 1995 35.00 -
1 Sep 1995 35.00 0.00 %
2 Oct 1995 35.00 0.00 %
3 Nov 1995 35.00 0.00 %
4 Dec 1995 35.00 0.00 %
5 Jan 1996 39.00 11.43 %
6 Feb 1996 39.00 0.00 %
7 Mar 1996 39.00 0.00 %
8 Apr 1996 39.00 0.00 %
9 May 1996 39.00 0.00 %
10 Jun 1996 39.00 0.00 %
11 Jul 1996 39.00 0.00 %
12 Aug 1996 39.00 0.00 %
13 Sep 1996 39.00 0.00 %
14 Oct 1996 39.00 0.00 %
15 Nov 1996 39.00 0.00 %
16 Dec 1996 39.00 0.00 %
17 Jan 1997 41.00 5.13 %
18 Feb 1997 41.00 0.00 %
19 Mar 1997 41.00 0.00 %
20 Apr 1997 41.00 0.00 %
21 May 1997 41.00 0.00 %
22 Jun 1997 41.00 0.00 %
23 Jul 1997 41.00 0.00 %
24 Aug 1997 41.00 0.00 %
25 Sep 1997 41.00 0.00 %
26 Oct 1997 41.00 0.00 %
27 Nov 1997 41.00 0.00 %
28 Dec 1997 41.00 0.00 %
29 Jan 1998 43.00 4.88 %
30 Feb 1998 43.00 0.00 %
31 Mar 1998 43.00 0.00 %
32 Apr 1998 43.00 0.00 %
33 May 1998 43.00 0.00 %
34 Jun 1998 43.00 0.00 %
35 Jul 1998 43.00 0.00 %
36 Aug 1998 43.00 0.00 %
37 Sep 1998 43.00 0.00 %
38 Oct 1998 43.00 0.00 %
39 Nov 1998 43.00 0.00 %
40 Dec 1998 43.00 0.00 %
41 Jan 1999 44.00 2.33 %
42 Feb 1999 44.00 0.00 %
43 Mar 1999 44.00 0.00 %
44 Apr 1999 44.00 0.00 %
45 May 1999 44.00 0.00 %
46 Jun 1999 44.00 0.00 %
47 Jul 1999 44.00 0.00 %
48 Aug 1999 44.00 0.00 %
49 Sep 1999 44.00 0.00 %
50 Oct 1999 44.00 0.00 %
美元
黄金
熊猫图书馆是这方面的完美之选。您可以使用
pd.read\u csv
导入.csv表,并将索引设置为日期列。这将为您提供一组数据帧,并将日期作为索引
然后可以使用pd.concat
函数组合这些单独的数据帧。设置排序标志后,它将纠正任何无序索引,如下所示:
>>> dfa = pd.DataFrame([['a',1],['b',2]], index=["thing1", "thing2"], columns=['Value1', 'Value2'])
>>> dfa
Value1 Value2
thing1 a 1
thing2 b 2
>>> dfb = pd.DataFrame([['g'],['h']], index=["thing2", "thing1"], columns=['Value3'])
>>> dfb
Value3
thing2 g
thing1 h
>>> pd.concat([dfa,dfb], axis=1, sort=True)
Value1 Value2 Value3
thing1 a 1 h
thing2 b 2 g
如前所述:熊猫图书馆可以轻松完成这项工作 从导入开始:
import pandas as pd
然后加载你的文件
gold_price = pd.read_csv("your/path/to/gold.csv")
oil_price = pd.read_csv("your/path/to/oil.csv")
然后,组合您的桌子:
merged_data = pd.concat([gold_price, oil_price], axes=1)
在此基础上,您可以创建具有组合信息的新列:
merged_data["gold-oil"] = merged_data["gold-change"] - merged_data["oil-change"]
唯一需要注意的是第一个索引行。我认为不允许将它们命名为相同的名称。在这里,您需要重命名它们,但它应该可以正常工作
有关更多信息,您还可以查看文档您希望获得哪种相关性?只是比较?百分比?百分比差异?百分比差异
merged_data = pd.concat([gold_price, oil_price], axes=1)
merged_data["gold-oil"] = merged_data["gold-change"] - merged_data["oil-change"]