gpt4 book ai didi

python - 如何获得 Pandas 系列中最接近中位数的 N 个条目?

转载 作者:行者123 更新时间:2023-11-30 22:21:22 25 4
gpt4 key购买 nike

对于 Pandas 系列:

ser = pd.Series([i**2 for i in range(9)])
print(ser)
0 0
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
dtype: int64

可以使用ser.median()获取中位数,它返回16。如何抓取中位数周围的N个条目?像这样的东西:

print(ser.get_median_entries(3)) # N == 3; not real functionality
3 9
4 16
5 25
dtype: int64

最佳答案

您可以找到每个值与中位数之间的绝对差值并使用sort_values():

ser[abs(ser - ser.median()).sort_values()[0:3].index]
#4 16
#3 9
#5 25
#dtype: int64

如果您希望将其作为函数,其中 n 是输入变量:

def get_n_closest_to_median(ser, n):
return ser[abs(ser - ser.median()).sort_values()[0:n].index]

print get_n_closest_to_median(ser, 3)
#4 16
#3 9
#5 25
#dtype: int64

您可能需要在边界上添加一些错误检查。

关于python - 如何获得 Pandas 系列中最接近中位数的 N 个条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48667218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com