问题标签 [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 投票
3 回答
8067 浏览

python - Python Pandas从多索引数据框中的第二个索引访问值

我不确定多索引是如何工作的,所以我可能只是在这里尝试做错事。如果我有一个数据框

如果我想访问 B=2 的元素,我该怎么做?df.ix[2] 给了我 A=2。要获得一个特定的值,它似乎是 df.ix[(1,2)] 但如果你不能直接访问它,这就是 B 索引的目的?

0 投票
1 回答
12621 浏览

python - 从 MultiIndex DataFrame 为切片分配新值

我想从我的 DataFrame 中的列中修改一些值。目前,我可以通过原始的多索引从选择中查看视图df(并且修改确实会改变df)。

这是一个例子:

我尝试将切片修改为df标量值:

我真的想修改列中的几个值(并且由于索引返回一个向量,而不是一个标量值,我认为这会更有意义):

我正在使用熊猫 0.11。有没有一种简单的方法可以做到这一点?

当前的解决方案是从一个新的重新创建 df 并修改我想要的值。但它并不优雅,并且在复杂的数据帧上可能非常繁重。在我看来,问题应该来自 .ix 和 .loc 不是返回一个视图而是一个副本。

0 投票
4 回答
84531 浏览

pandas - 如何从多索引数据框中删除级别?

例如,我有:

有没有比这更好的方法从索引中删除最后一个级别:

0 投票
1 回答
132 浏览

c++ - boost::multi_index 中的 Sql IN 模拟

我使用 boost::multi_index 并像这样检索数据:

此代码检索所有红色连衣裙。有什么方法可以通过一次查询来检索红色和黄色连衣裙?就像在 SQL 中一样:

0 投票
4 回答
56495 浏览

python - 更改熊猫中日期时间列的时区并添加为分层索引

我有带有 UTC 时间戳的数据。我想将此时间戳的时区转换为“美国/太平洋”,并将其作为分层索引添加到 pandas DataFrame。我已经能够将时间戳转换为索引,但是当我尝试将它作为列或索引添加回 DataFrame 时,它​​会丢失时区格式。

现在,如果我尝试直接转换系列,我会遇到错误。

如果我将其转换为索引,那么我可以将其作为时间序列进行操作。请注意,索引现在具有太平洋时区。

但是,现在我在将索引添加回数据帧时遇到了问题,因为它失去了时区格式:

您会注意到索引回到了 UTC 时区,而不是转换后的太平洋时区。

如何更改时区并将其作为索引添加到 DataFrame?

0 投票
1 回答
612 浏览

c++ - Boost Multi Index Identity index

I am trying to make some wrapper class for multi_index_container.

Basically I want to export only those operations:

  1. Insert Element
  2. Remove Element(for a given element)
  3. Get Element by key

The following code is defined:

where:

SR::ByIdentity internal empty struct

ByName and ByID are pre defined empty structs.

those are functions defined in SR

and this is the code for Insert, Remove and Get

where typename Iterator is defined as one of

I get The following compile error:

This does not happen when I remove the boost::multi_index::ordered_unique<boost::multi_index::tag<SR::ByIdentity>,boost::multi_index::identity<SR> >

any Idea?

0 投票
5 回答
29283 浏览

python - Pandas 中的多索引排序

我有一个通过 groupby 操作创建的多索引 DataFrame。我正在尝试使用多个级别的索引进行复合排序,但我似乎找不到满足我需要的排序函数。

初始数据集看起来像这样(各种产品的每日销售额):

我使用 groupby 来获得日期范围内的总和:

到目前为止,一切都很好!

现在我要做的最后一件事是按发布日期对每个制造商的产品进行排序,但将它们按层次分组在制造商下 - 这就是我想做的所有事情:

当我尝试 sortlevel() 时,我失去了以前拥有的每个公司的良好层次结构:

sort() 和 sort_index() 只是失败:

似乎是一个简单的操作,但我无法完全弄清楚。

我不喜欢为此使用 MultiIndex,但由于这是 groupby() 返回的,这就是我一直在使用的。

顺便说一句,生成初始 DataFrame 的代码是:

0 投票
2 回答
14362 浏览

python - 填补 MultiIndex Pandas Dataframe 中的日期空白

我想修改一个 pandas MultiIndex DataFrame,使每个索引组都包含指定范围之间的日期。我希望每个组用值 0(或NaN)填写缺失的日期 2013-06-11 到 2013-12-31。

我看过一些关于reindexing 的讨论,但那是针对简单(非分组)时间序列数据的。

是否有捷径可寻?


以下是我为实现这一目标所做的一些尝试。例如:一旦我取消堆叠['A', 'B'],我就可以重新索引。

最后几行让我有点难过。我希望在df6我可以简单地set_index回到['A', 'B', 'Date'],但这并没有对值进行分组,因为它们在初始dfDataFrame 中分组。

关于如何重新索引未堆叠的 DataFrame、重新堆叠并使 DataFrame 与原始格式相同的任何想法?

0 投票
1 回答
24309 浏览

python - Pandas - 使用 to_csv 编写多索引行

我正在使用 to_csv 将 Multiindex DataFrame 写入 csv 文件。csv 文件有一列包含元组中的多索引,例如:

但是,我希望能够将 Multiindex 输出到两列而不是一列元组,例如:

看起来tupleize_cols可以为列实现这一点,但行没有这样的选项。有没有办法做到这一点?

0 投票
1 回答
459 浏览

c++ - boost multi_index_container Composite_key_compare

我正在尝试编写一个计算密集型程序。我需要 char* 作为 multi_index_container 的composite_key_compare 的比较字段。但是,它似乎不起作用。代码如下:

我确实追踪了equal_char,发现它确实在“Michael”与“Michael”的第一次比较时返回true,但我还发现equal_char没有被称为“Mike”与“Mike”的第二次比较。谁能帮我解决这个问题?我应该如何编写composite_key_compare?