回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在研究一种方法,用于计算数据集中到列的数据之间的相关性。数据集由4列A1、A2、A3和Class构成。我的目标是删除A3,如果A1和;A3大于0.6或如果A1和;A3小于0.6</p>
<p>数据集示例如下所示:</p>
<pre><code>A1,A2,A3,Class
2,0.4631338,1.5,3
8,0.7460648,3.0,3
6,0.264391038,2.5,2
5,0.4406713,2.3,1
2,0.410438159,1.5,3
2,0.302901816,1.5,2
6,0.275869396,2.5,3
8,0.084782428,3.0,3
</code></pre>
<p>我在这个项目中使用的python程序是这样编写的</p>
<pre><code>from numpy.core.defchararray import count
import pandas as pd
import numpy as np
import numpy as np
def main():
s = pd.read_csv('A1-dm.csv')
print(calculate_correlation(s))
def calculate_correlation(s):
# if correlation > 0.6 or correlation < 0.6 remove A3
s = s[['A1','A3']]
return s.corr()[1,0]
main()
</code></pre>
<p>当我运行代码时,出现以下错误:</p>
<pre><code>File "C:\Users\physe\AppData\Roaming\Python\Python36\site-packages\pandas\core\indexes\base.py", line 2897, in get_loc
raise KeyError(key) from err
KeyError: (1, 0)
</code></pre>
<p>我已经审阅了文档。我面临的问题是从.corr()返回的协方差矩阵中选择1,0元素。在此方面的任何帮助都将不胜感激</p>