代码示例:
In [171]: A = np.array([1.1, 1.1, 3.3, 3.3, 5.5, 6.6])
In [172]: B = np.array([111, 222, 222, 333, 333, 777])
In [173]: C = randint(10, 99, 6)
In [174]: df = pd.DataFrame(zip(A, B, C), columns=['A', 'B', 'C'])
In [175]: df.set_index(['A', 'B'], inplace=True)
In [176]: df
Out[176]:
C
A B
1.1 111 20
222 31
3.3 222 24
333 65
5.5 333 22
6.6 777 74
现在,我要检索一个值:q1:在[3.3,6.6]范围内——如果最后一个包含,预期返回值为[3.3,5.5,6.6]或[3.3,3.3,5.5,6.6],如果没有,则为[3.3,5.5]或[3.3,3.3,5.5]。q2:在[2.0,4.0]范围内-预期返回值:[3.3]或[3.3,3.3]
对于任何其他多索引维度相同,例如b值:q3:在[111,500]范围内重复,作为范围内的数据行数-预期返回值:[111,222,222,333,333]
更正式:
假设t是一个列为a、b和c的表。该表包含n行。表单元格是数字,例如双整数、B整数和C整数。让我们创建一个T表的数据框架,让我们把它命名为df。让我们设置df的A列和B列索引(不重复,即没有单独的A列和B列作为索引,并作为数据分开),在本例中是多索引的A列和B列。
问题:
例如,如何在索引上编写查询来查询索引A(或B),比如在标签间隔[120.0,540.0]中?存在标签120.0和540.0。我必须澄清,我只对索引列表感兴趣,作为对查询的响应!
<