python - 删除最小值、最大值和计算平均值

标签 python pandas

我有一列数字,我只需要删除一分钟。和最多一个然后计算剩余数字的平均值。
问题是最小值/最大值可能位于列中的任何位置,并且某些行可能为空(空)或为零,或者该列可能只有 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/

相关文章:

Python pandas read_excel方法KeyError 'show'

python - 从 skrules 导入 SkopeRules 导入错误 : cannot import name 'six'

python - 如何在 VSCode 上更改 Python (Anaconda) 的默认工作目录?

Python:快速子集化和循环数据帧

python - 计算列中的天数 groupby

python - Pandas 按层次多重索引分组,不丢失其他索引

python - 使用 BeautifulSoup4 从 CSS3 伪元素获取内容

python - 将 NumPy 字符数组转换为字符串

python - Django 单元测试 - 创建对象的 ID

Python Pandas : Split DateTimeIndex in two at missing timestamp