繁体   English   中英

从熊猫数据框中获取平均值,最大值,最小值

[英]Getting mean, max, min from pandas dataframe

我有以下数据框,它是执行标准熊猫关联的结果:

df.corr()

           abc     xyz     jkl
abc        1       0.2    -0.01
xyz       -0.34    1       0.23
jkl        0.5     0.4     1

我需要做一些与这些相关的事情,但是这些计算需要排除所有值为1的单元格。1个值是项目与自身具有完美相关性的单元格,因此我不感兴趣在里面。:

  • 确定最大相关对。 结果是“ jkl”和“ abc”,它们的相关系数为0.5

  • 确定最小相关对。 结果是“ abc”和“ xyz”,它们具有-0.34的相关性

  • 确定整个数据帧的平均值/平均值(同样,这需要排除所有为1的值)。 结果将是(0.2 + -0.01 + -0.34 + 0.23 + 0.5 + 0.4)/ 6 = 0,163333333

检查一下:

from numpy import unravel_index,fill_diagonal,nanargmax,nanargmin
from bottleneck import nanmean

a = df(columns=['abc','xyz', 'jkl'])
a.loc['abc'] = [1, 0.2 , -0.01]
a.loc['xyz'] = [-0.34, 1, 0.23]
a.loc['jkl'] = [0.5, 0.4, 1]

b = a.values.copy()

fill_diagonal(b, None)

imax = unravel_index(nanargmax(b), b.shape)
imin = unravel_index(nanargmin(b), b.shape)
print(a.index[imax[0]],a.columns[imax[1]])
print(a.index[imin[0]],a.columns[imin[1]])
print(nanmean(b))

请不要忘记复制数据,否则np.fill_diagonal将删除其对角线值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM