gpt4 book ai didi

python - pandas 获取 DataFrame 中给定索引的位置

转载 作者:太空狗 更新时间:2023-10-29 20:12:24 25 4
gpt4 key购买 nike

假设我有一个这样的 DataFrame:

df
A B
5 0 1
18 2 3
125 4 5

其中 5, 18, 125 是索引

我想获取某个索引之前(或之后)的行。例如,我有索引 18(例如通过执行 df[df.A==2].index),我想获取之前的行,我不知道这一行有 5 作为索引。

2个子问题:

  • 如何获取索引 18 的位置?像 df.loc[18].get_position() 这样的东西会返回 1 这样我就可以使用 df.iloc[df.loc[18] 到达之前的那一行].get_position()-1]
  • 是否有另一种解决方案,有点像带有 grep 的选项 -C-A-B

最佳答案

第一个问题:

base = df.index.get_indexer_for((df[df.A == 2].index))

或者替代地

base = df.index.get_loc(18)

获取周围的:

mask = pd.Index(base).union(pd.Index(base - 1)).union(pd.Index(base + 1))

我使用索引和联合来删除重复项。你可能想保留它们,在这种情况下你可以使用 np.concatenate

注意第一行或最后一行的匹配:)

关于python - pandas 获取 DataFrame 中给定索引的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28837633/

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