问题标签 [multi-index]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
57320 浏览

python - 如何对熊猫中的多索引进行分组?

下面是我的数据框。我进行了一些转换来创建类别列并删除了它派生的原始列。现在我需要进行分组以删除重复项,例如LoveFashion可以通过groupby总和进行汇总。

这是我创建数据框时创建的索引

我假设我想删除索引,并创建日期和类别,multiindex然后groupby对指标进行求和。如何在熊猫数据框中执行此操作?

Python 是 2.7,pandas 在 ubuntu 12.04 上是 0.7.0。如果我运行以下内容,以下是我得到的错误

0 投票
1 回答
7724 浏览

python - 向 pandas 数据框添加多索引并保留当前索引

我正在尝试合并来自不同参与者的时间课程数据。我迭代地为每个参与者提取一个数据帧,并在循环结束时将它们连接起来。在连接之前,我想将参与者的 ID 添加到附加索引中。

这看起来真的很简单,但我在这个问题上找不到任何东西:(

我想把这个

进入:

我知道我可以创建一个新索引,例如:

但这很不雅,而且 - 看到我在半小时内高频测量 - 甚至会变得有点慢:/

我想提一下,我最近发现我的问题与另一个问题重复。然而,我的显然有更多的赞成票和更好的答案。“Prepend”显然似乎没有吸引那么多的点击量。

0 投票
1 回答
4731 浏览

python - python按两列分组,按一个索引提取第一个元素

如果我使用 groupby 函数,例如Data.groupby(['id','company']).size(),它将给出如下结果:

但是如何提取数字[2,1](每个第零索引级别组的第一个元素,根据第一索引级别组的排序顺序)?

0 投票
1 回答
2234 浏览

python - 重新索引熊猫数据框多索引的子级别

我有一个时间序列数据框,我想通过试验和测量重新索引它。

简化,我有这个:

我想变成这样:

我怎样才能最好地做到这一点?

0 投票
1 回答
1725 浏览

python - 仅知道结果测量计数对 pandas 数据帧进行重新采样

我有一个如下所示的数据框:

我想重新采样我的数据,以便每次试验只有两个测量值所以我想把它变成这样的东西:

这个相当罕见的任务源于这样一个事实,即我的数据在刺激呈现部分存在有意的抖动。

我知道 pandas 有一个 resample 函数,但我不知道如何将它应用到我的二级索引,同时根据一级索引将数据保持在离散类别中:(

另外,我想迭代我的一级索引,但显然

不起作用,因为因为'Trial'是索引 pandas 找不到它。

0 投票
1 回答
5131 浏览

python - 使用多索引迭代地连接 pandas 数据帧

我正在迭代处理几个“组”,我想将它们一起添加到数据框中,每个组都由二级索引标识。

这个:

有人向我建议 - 但它在迭代中效果不佳。

我目前正在做

但是最后一行完全破坏了我的多索引,我无法重建它。

你能帮我个忙吗?

0 投票
5 回答
174845 浏览

python - 将 Pandas 多索引变成列

我有一个具有 2 个索引级别的数据框:

我想变成这样:

我怎样才能最好地做到这一点?

我需要这个,因为我想按照此处的说明聚合数据,但如果它们用作索引,我不能像这样选择我的列。

0 投票
1 回答
1093 浏览

python - 从熊猫数据框索引制作列

我有一个数据框,我想将(第一级)索引中的数据转换为一列。实际上我的 df 看起来像这样:

我想把它变成这样:

我怎样才能最好地做到这一点?我认为这是一个相当基本的功能,但与许多其他“基本”熊猫的东西一样,我在任何地方都找不到这方面的信息。

非常感谢,

0 投票
1 回答
1445 浏览

c++ - boost::multi_index 复合键效率

长期读者第一次海报!我正在玩 boost::multi_index 容器的东西,并且有一个相当深入的问题,希望 boost 或 C++ 容器专家可能知道(我在 C++ 容器方面的知识非常基础)。作为参考,可以在此处找到有关复合键的 boost 文档:boost::multi_index 复合键。

使用复合键时,文档指出“复合键按字典顺序排序,即按第一个键执行排序,如果第一个键相等,则按第二个键执行排序,等等”。这是否意味着存储该结构,以便查找特定的 2 部分复合键将花费 O(n=1) 时间,即容器是否已排序,以便有一个直接指向每个项目的指针,或者提升容器检索与组合键的第一部分匹配的列表,然后需要搜索与键的第二部分匹配的项目,因此速度较慢?

例如,如果我要使用两个不同的索引手动维护两个容器,并且想要查找与特定 2 部分查询匹配的项目,我可能会过滤第一个容器以查找与查询的第一部分匹配的所有项目,然后过滤与查询的第二部分匹配的项目的结果。因此,这种手动方法将有效地涉及两次搜索。boost 是否有效地做到了这一点,或者它是否通过使用复合键以某种方式提高了效率?

希望我已经在这里解释了自己,但请提出问题,我会尽力澄清我的意思!

0 投票
1 回答
461 浏览

python - 多索引 pandas 数据帧子集分配

这里的第一个问题是 0.12 中的一个错误,但在 0.13.0rc1 中已修复。这里的第二个问题并没有解决,至少是不一致的。

这两种情况都可以正常工作:

然而,

生成一个AttributeError: _ref_locs

类似情况:

工作正常,但是

给出 AttributeError: 'FrozenNDArray' 对象没有属性 'start'