繁体   English   中英

如何逐列识别整个 pandas dataframe 的最小平方值?

[英]How to identify minimum squared value of an entire pandas dataframe column by column?

我有一个 pandas dataframe 像这样:

column1 | column2  | column3
1       | 4        |   10.4  
4       | 7        |   11.1
3       | 3        |   3.3

我如何计算整个列的平方值的总和(我在循环中尝试像deviation = df[columnName].pow(2).sum()的东西,但是非常欢迎想法?)但后来也确定具有最小总和和实际最小总和的列?

编辑:添加所需的 output

在这种情况下,所需的 output 将是:

Minimum sum of squared values: 26
Column containing minimum sum of squared values: column1

您可以计算整个数据帧的平方和,它返回一个以列名作为索引的系列 object。 然后您可以使用minidxmin找到最小值和最小索引:

col_squares = df.pow(2).sum()

col_squares
#column1     26.00
#column2     74.00
#column3    242.26
#dtype: float64

col_squares.min(), col_squares.idxmin()
#(26.0, 'column1')

获得相同结果的更简单/易于理解的方法如下

def minimum_square_sum_col(col):
    sums = 0
    for i in col:
        sums += i**2
    return sums
col_to_sum_dict = dict(df.apply(minimum_square_sum_col))
print(col_to_sum_dict)

暂无
暂无

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

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