如何根据相关系数计算值



我有三个包含角度值的列表:

import pandas as pd
import random
# Example data
angles1 = [1,1,5,6,4]
angles2 = [3,2,5,4,9]
angles3 = [6,9,8,2,1]

这三个列表的角度值相互依赖。这就是相关系数显示给我的

# Calculate the correlation coefficient
angles = list(zip(angles1,angles2,angles3))
anglesData = pd.DataFrame(angles,columns=['angle 1','angle 2','angle 3'])
print(anglesData.corr())

这些是计算出的系数(结果(:

angle 1   angle 2   angle 3
angle 1  1.000000  0.474267 -0.530212
angle 2  0.474267  1.000000 -0.690651
angle 3 -0.530212 -0.690651  1.000000

我想随机化角度1、角度2和角度3的值。我可以很容易地随机化angle1值:

# Get a random number from angles1
randomAngle1 = random.choice(angles1)
print(randomAngle1)

问题是,我不能简单地随机化angle2和angle3的值,因为它们取决于angle1的值。他们也相互依赖。

如何随机化angle1、angle2和angle3的值,这是有意义的,并且不忽略相关性?

任何形式的反馈都是值得赞赏的。谢谢

如果anglesData的角度彼此对应,如果它们在同一行(并且不应分开(,那么您可以简单地选择数据帧的随机行(它将是一个仅由1个选定行组成的新数据帧(,然后您可以将其转换为列表:

anglesData.sample().to_numpy().flatten().tolist()

您还可以打乱数据帧的行:

anglesData.sample(frac=1)

相关内容

  • 没有找到相关文章

最新更新