在 python 中创建 Pearson 相关系数的问题
Problem with creating Pearson correlation coefficient in python
问题:根据第三列的值创建 Pearson 相关系数。
首先,我有一个包含 3 列的数据框。 A、B 和 C
上校A 和 B 包含 float64 类型,而在 C 中有对象。
我想获得 A 列和 B 列的皮尔逊相关系数。
print(df['A'].corr(df['B'],method='pearson')) --> 这适用于整个列。
下一步我要奋斗了。 C 列只有 2 个值。我们称它们为 c1 和 c2。
我现在想获得 c1 和 c2 的系数。
我试过
print(df['A']&df['C']=='c1').corr((df['B']&df['C' ]=='c1'),方法='pearson')
对于 c2 也是如此。
记录的错误是:TypeError: unsupported operand type(s) for &: 'float' and 'str'
如何在不拆分数据帧的情况下获得两个系数?
提前致谢
这应该能达到您的要求:
print(df[df['C']=='c1']['A'].corr(df[df['C']=='c1']['B'],method='pearson'))
df[df['C']=='c1']
检索数据框的子集,其中 C 列中的值为 'c1',然后您只需像往常一样调用您想要的列。
问题:根据第三列的值创建 Pearson 相关系数。
首先,我有一个包含 3 列的数据框。 A、B 和 C
上校A 和 B 包含 float64 类型,而在 C 中有对象。 我想获得 A 列和 B 列的皮尔逊相关系数。
print(df['A'].corr(df['B'],method='pearson')) --> 这适用于整个列。
下一步我要奋斗了。 C 列只有 2 个值。我们称它们为 c1 和 c2。 我现在想获得 c1 和 c2 的系数。 我试过
print(df['A']&df['C']=='c1').corr((df['B']&df['C' ]=='c1'),方法='pearson')
对于 c2 也是如此。 记录的错误是:TypeError: unsupported operand type(s) for &: 'float' and 'str' 如何在不拆分数据帧的情况下获得两个系数?
提前致谢
这应该能达到您的要求:
print(df[df['C']=='c1']['A'].corr(df[df['C']=='c1']['B'],method='pearson'))
df[df['C']=='c1']
检索数据框的子集,其中 C 列中的值为 'c1',然后您只需像往常一样调用您想要的列。