import pandas as pdd = {'Val1': ['A','A','A','B','B','B','C','C','C','D','D','D'], 'Val2': [5,4,6,4,8,7,4,5,2,1,1,9] , 'Val3': [4, 5,6,1,2,9,8,5,1,5,9,5]}df = pd.DataFrame(data=d)df输出Val1 Val2 Val3 Val4+++0 A 5 41 A 4 52 A 6 63 B 4 14 B 8 25 B 7 96 C 4 87 C 5 58 C 2 19 D 1 510 D 1 911 D 9 5可以使用此代码计算两列的相关性,但是我不确定这是否是最佳/最快的方法。 vers1=df.groupby('Val1')[['Val2','Val3']].corr().iloc[0::2][['Val3']] vers2=df.groupby('Val1')[['Val2','Val3']].corr().iloc[0::2]['Val3']A Val2 0.500000B Val2 0.385727C Val2 0.714575D Val2 -0.500000我无法将数据连接到原始数据,因此它们看起来像这样。 Val1 Val2 Val3 Val4+++0 A 5 4 0.5000001 A 4 5 0.5000002 A 6 6 0.5000003 B 4 1 0.3857274 B 8 2 0.3857275 B 7 9 0.3857276 C 4 8 0.7145757 C 5 5 0.7145758 C 2 1 0.7145759 D 1 5 -0.50000010 D 1 9 -0.50000011 D 9 5 -0.500000如果我能够将它们加入原始模型,则可以采用其他方法来计算相关性或关联性度量。
添加回答
举报
0/150
提交
取消