gpt4 book ai didi

python - Pandas:索引距已知标签一定位置的元素的惯用方法?

转载 作者:行者123 更新时间:2023-12-01 07:25:41 25 4
gpt4 key购买 nike

我正在寻找一种简单的惯用方法来索引一个我不知道其标签或位置的元素,该元素距离已知元素(我知道其标签的元素)有一定的位置。

我在 Selecting and Indexing 阅读了大部分 Pandas 文档。还是没找到答案。

我希望能够做这样的事情:

df.loc['某个已知标签' + 3]获取某个已知标签下方 3 个元素的行。

或者也许将它与切片一起使用:df.loc['一些已知标签' - 3 : '其他一些已知标签' + 5]

从下面的数据框来看:

In [44]: df1 = pd.DataFrame(np.random.randn(6, 4), index=list('abcdef'), columns=list('ABCD')) 

In [45]: df1
Out[45]:
A B C D
a 0.132003 -0.827317 -0.076467 -1.187678
b 1.130127 -1.436737 -1.413681 1.607920
c 1.024180 0.569605 0.875906 -2.211372
d 0.974466 -2.006747 -0.410001 -0.078638
e 0.545952 -1.219217 -1.226825 0.769804
f -1.281247 -0.727707 -0.121306 -0.097883

我想做一些类似df.loc['c' + 2]

的事情

并得到:

          A         B         C         D
e 0.545952 -1.219217 -1.226825 0.769804

感谢您的宝贵时间。

最佳答案

正如 @Emma 建议使用 get_loc 来获取索引标签的整数位置,但是,使用双括号将结果作为数据帧获取,否则您将得到一个系列:

df1 = pd.DataFrame(np.random.randn(6, 4), index=list('abcdef'), columns=list('ABCD')) 
df1.iloc[[df1.index.get_loc('c')+2]]

输出:

          A         B         C         D
e -1.393951 -0.725751 -1.063748 -0.271371

关于python - Pandas:索引距已知标签一定位置的元素的惯用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57467167/

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