我有一列数字,我只需要删除一分钟。和最多一个然后计算剩余数字的平均值。
问题是最小值/最大值可能位于列中的任何位置,并且某些行可能为空(空)或为零,或者该列可能只有 3 个值。
所有数字都在 0 到 100 之间。
例如:
Value Property
80 H
30.5 D
40 A
30.5 A
72 H
56 D
64.2 H
如果有超过 1 个 min 或 max 项,则只能删除一项。为了计算一列的最小值和最大值,我做了如下操作:
maximum = df['Value'].max()
minimum = df['Value'].min()
在计算这个平均值的条件中,我还包括了它不为空和不等于零的条件。但是,我不知道如何仅删除一个最大值和一个最小值,并添加有关大于 3 行/值的信息。
我希望你能在这方面提供一些帮助/提示。
最佳答案
如果目标是计算没有一个最小值和一个最大值的平均值,你可以这样做
(df['Value'].sum() - df['Value'].min() - df['Value'].max())/(len(df)-2)
输出 52.54
为您的数据。请注意,这将忽略 NaN 等。这不会修改您的 df,如果我读对了问题,无论如何都不是目标
关于python - 删除最小值、最大值和计算平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66961748/