gpt4 book ai didi

python - 在特定索引的列中查找最近的非零数

转载 作者:太空宇宙 更新时间:2023-11-04 08:32:27 24 4
gpt4 key购买 nike

我有一个 pandas dataframe,它有一个像

这样的列
df = pd.DataFrame({'A':[0,0,15,0,0,0,0,0,0,5]})

A
0 0
1 0
2 15
3 0
4 0
5 0
6 0
7 0
8 0
9 5

现在基于索引(比方说 5)我想确定列中最近的非零数字(此处索引 2 和值 15)并返回从给定索引到达那里所需的跳数。在给定的示例中,它将是 +3,因为它来自索引 2 到索引 5,如果给定的索引是 7,那么答案将是 -2,因为索引是 9 值 5

最佳答案

首先找到所有非零元素的索引:

nonzeros = df[df.A != 0]).index

计算你的行到所有行的距离:

anchor = 5
dists = anchor - nonzeros

求最小距离(按绝对值):

nhops = min(dists, key=abs)

一言以蔽之:

hnops = min((anchor - df[df.A != 0].index), key=abs)
#3

最接近的非零值的索引可以通过重新组合nhopsanchor来计算:

min_index = anchor - nhops
#2

关于python - 在特定索引的列中查找最近的非零数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51811710/

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