当前位置: 首页 > 知识库问答 >
问题:

从多索引的子集获取索引[重复]

涂泰平
2023-03-14

鉴于此pandas.core.frame.DataFrame示例:

        col
0   2   0
    0   1
    3   1

我想得到那些索引,其中col1:

df[df['col']==1]

预期结果将是一个向量(0,3)

共有2个答案

欧阳昊阳
2023-03-14

这可能会起到作用:

import pandas as pd

d = {'base':[2,0,3],'col':[0,1,1]}
df = pd.DataFrame(data=d)
col_is_1 = df['col'] == 1
df_temp = df[col_is_1]
matrix = df_temp.values
vec = matrix[:,0]
print(vec)

按预期返回[0,3]

司徒志强
2023-03-14

可以使用NumPy创建索引数组,然后筛选第二个索引:

import numpy as np

df = pd.DataFrame({'col': [0, 1, 1]},
                  index=pd.MultiIndex.from_tuples([(0, 2), (0, 0), (0, 3)]))

#      col
# 0 2    0
#   0    1
#   3    1

idx = np.array(df[df['col'] == 1].index.tolist())

# array([[0, 0],
#        [0, 3]])

res = idx[:, 1]

# array([0, 3])
 类似资料:
  • 我有一组符合条件的指数: 此时,我想提前 i 到 i n 天查看此列的值范围(其中 n 是整数);像这样: 但是,我不能把int数加到日期I上:

  • 如果我定义一个像这样的分层索引数据框: 内容如下所示: 我知道如何提取与给定列对应的数据。例如。对于列: 如何提取符合以下标准集的数据: , , , column , , 列 和 、、列、以及从开始的所有列 是偶数 (顺便说一句,我做了不止一次rtfm,但我真的觉得难以理解。)

  • 问题内容: 我在MySQL数据库中有下表: SQL将如下所示: 如您所见,我同时创建了primaryId和和imgDate索引键。我的想法是,该WHERE子句使用primaryId,而ORDER子句使用来查询结果imgDate。 我的问题是,现在使用多索引会更好吗?还是我应该使用多列索引(目前我不太了解)? 这是我从EXPLAIN得到的: 注意:这不是使用多列索引,这是使用上表说明的结果。 问题答

  • 问题内容: 如何从JTable索引获取行?我查看了成员函数,但没有类似getRowAt的东西。有人可以帮忙吗? 问题答案: 表没有“行”对象,因此使用getRow方法无法获得任何结果。 您可以要求获取各个值,将其用于每一列,然后获得完整的行。

  • create a struct struct [[eosio::table]] mystruct { uint64_t key; uint64_t secondid; std::string name; std::string account; uint64_t

  • 我的集合中有两个数组(一个是嵌入式文档,另一个只是字符串的简单集合)。文档,例如: 由于一些查询将仅包含策略,而一些查询将包含标签和参与者数组,并且考虑到我无法创建具有两个数组的多键索引这一事实,我认为使用索引交叉点将是一个经典场景。 我正在执行一个查询,但我看不到交叉点。 以下是索引: 以下是查询: 这是解释的结果: 查询中的每个标记(tag1、tag-2和tag-3)都有10K个文档。每个策略