通过合并列访问熊猫行

问题描述 投票:2回答:1

我目前正在处理一个需要处理合并数据的问题。我的目标是获取Alpha t1Alpha t2的值,它们对应于给定的Beta值。在下面的数据框中,您可以直观地看到我的意思。假设我的Beta值为22.3,那么我想从第5行访问Alpha t1和Alpha t2。

         Beta Bins  Alpha t1  Alpha t2
1       (0.0, 5.0]       0.0       0.0
2      (5.0, 10.0]       0.0       0.0
3     (10.0, 15.0]       0.0       0.0
4     (15.0, 20.0]       0.0       0.0
5     (20.0, 25.0]       0.0       0.0
6     (25.0, 30.0]       0.0       0.0
7     (30.0, 35.0]       0.0       0.0
8     (35.0, 40.0]       0.0       0.0
9     (40.0, 45.0]       0.0       0.0
10    (45.0, 50.0]       0.0       0.0
11    (50.0, 55.0]       0.0       0.0
12    (55.0, 60.0]       0.0       0.0
13    (60.0, 65.0]       0.0       0.0
14    (65.0, 70.0]       0.0       0.0

因此,当我尝试在for循环中访问此值时,我一直在尝试以下操作:

for i, val in enumerate(Beta):

      dfi = df.loc[(df['Beta Bins'] == val)]

但是,我只收到一个空的数据框。我想对与设置我的值的时间间隔相对应的行进行本地化。因此,是否可以通过引用特定值来访问该合并的数据?

希望我设法弄清楚。

python pandas dataframe
1个回答
1
投票

我会使用:

df.set_index('Beta Bins').loc[val].reset_index()

df[df['Beta Bins'] == df['Beta Bins'].loc[val]]

参见:Indexing with an IntervalIndex

© www.soinside.com 2019 - 2024. All rights reserved.