Traceback (most recent call last): File "C:\Users\七彩虹i7 3060\Desktop\mathmodeling\1.py", line 38, in <module> corr_matrix[i, 1] = grey_correlation(normalized_data[:, i], normalized_data[:, j]) ~~~~~~~~~~~~~~~^^^^^^
时间: 2023-10-20 16:05:37 浏览: 155
很抱歉,我刚刚犯了一个错误。实际上,你也在代码中正确地使用了 `corr_matrix[i, j]`。对于这段代码,没有任何错误。
```python
import pandas as pd
import numpy as np
# 读取数据
data = pd.read_excel('数据.xlsx')
# 提取指标列
indicators = data.iloc[1:50:2, 2:].values
indicators = pd.DataFrame(indicators)
print(indicators)
# 数据归一化
normalized_data = (indicators - indicators.min(axis=0)) / (indicators.max(axis=0) - indicators.min(axis=0))
print(normalized_data)
# 灰色关联度计算函数
def grey_correlation(x, y):
"""
计算两列数据的灰色关联度
:param x: 第一列数据
:param y: 第二列数据
:return: 灰色关联度
"""
n = len(x)
lambda_value = 0.5 # 灰色关联度衡量因子,默认取0.5
# 累加生成级比累加矩阵
c = np.abs(x - y)
c_max, c_min = np.max(c), np.min(c)
rho = (c_min + lambda_value * c_max) / (c + lambda_value * c_max)
r = np.sum(rho) / n
return r
# 计算各指标之间的灰色关联度
corr_matrix = np.zeros((len(normalized_data[0]), len(normalized_data[0])))
for i in range(len(normalized_data[0])):
for j in range(len(normalized_data[0])):
corr_matrix[i, j] = grey_correlation(normalized_data[:, i], normalized_data[:, j])
# 输出灰色关联度矩阵
print(corr_matrix)
```
请再次检查你的代码和数据,确保没有其他错误。如果还有问题,请提供完整的错误信息以便更好地帮助你。
阅读全文