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

python - 根据列标签重塑熊猫中的数据框

在熊猫中重塑以下数据框的最佳方法是什么?此 DataFramedf具有x,y每个样本的值(s1s2本例中),如下所示:

s1_x并且s1_y是样本 1 的 x/y 值,s2_x, s2_y是样本 2 的样本值,等等。如何将其重塑为仅包含x,y列但包含一个附加列的 DataFrame,该列sample表示 DataFrame 中的每一行是否来自s1还是s2?例如

这对于稍后使用 Rpy2 绘制东西很有用,因为许多 R 绘图功能可以利用这个分组变量,所以这就是我重塑数据框的动机。

我认为 Chang She 给出的答案并不能转化为具有唯一索引的数据框,例如:

转换有效,但在此过程中列"names"丢失了。如何将"names"列保留在 df 中,同时仍对其名称中的列进行熔化转换_?该"names"列只是为数据框中的每一行分配一个唯一的名称。例如,这里是数字,但在我的数据中它们是字符串标识符。

谢谢。

0 投票
1 回答
968 浏览

python - 在 pandas DataFrame 上调用 dropna() 后是否应该更新多索引级别?

在多索引数据帧上调用 dropna 后,索引中的级别元数据似乎没有更新。这是一个错误吗?

请注意,MultiIndex 只有 (2, b),但它报告 1 和 'a' 在 index.levels 中。

我的解决方法是使用“干净”的多索引重新索引,如下所示:

编辑:

在使用 .ix 进行切片期间也会出现此问题,并且可能还会出现其他索引操作。

0 投票
5 回答
1229 浏览

pandas - 使用带整数标签的多索引索引对数据帧进行部分更新

我正在使用具有混合索引标签的多索引数据框,即第一级包含字符串标签,第二和第三级是整数标签,第四级标签是日期。数据框如下所示(master_df)

我想取出 sub_df 作为 master_df.ix['B1',1,2,:],对 sub_df 做一些操作并将其存储回 master_df 的同一位置。我可以使用各种方法取出 sub_df,但是在将其存储回来时,我尝试过的所有选项似乎都不起作用。我想这个问题与拥有“整数”标签有关(在第二和第三拉维尔 - 开始-停止)。我尝试了以下选项/方法但没有任何成功

以上操作均未反映 master_df 的更改(我也没有收到任何错误消息。)

你能建议正确的方法吗?

更新 :

sub_df 和 master_df 没有与 sub_df 上的操作相同的索引,仅期望日期索引。sub_df 如下所示。

如果我尝试

我收到以下错误 -

TypeError:不可散列的类型:'numpy.ndarray'

这里的主要目的是仅对 master_df 的一小块进行操作,并将这些结果存储回 master_df 中的原始位置。我尝试使用更新方法,但是实现此目的的任何其他替代方法都可以。

0 投票
2 回答
426 浏览

c++ - 在一组 shared_ptr 中搜索

我有一个对象:

还有一个 multi_index 集

现在,如果我想在集合中找到一些东西,QString 我需要复制它以在堆中分配并创建shared_ptr

是否可以避免这种不必要的复制操作,保持原样?

0 投票
1 回答
420 浏览

serialization - 提升 multi_index_container 序列化

我正在尝试将 boost::multi_index_container 与 boost::serialization 一起使用。但是,当我使用指向对象的指针作为元素和non_unique顺序时,加载序列化容器时出现内存访问冲突。我发现有趣的是,唯一排序或使用对象而不是指针作为容器元素时不会发生错误。

有人可以告诉我我的代码是否有问题,或者这是 boost 库中的错误吗?

这是一个产生所描述错误的最小示例:

0 投票
1 回答
5799 浏览

pandas - 在 pandas 中连接具有不同索引级别的数据帧

我无法理解 pandas 多索引的工作原理。具体来说:

  1. 如何合并不同索引级别的两个数据框(按行)
  2. 如何更改数据框的索引级别

使用上一个问题的示例:

我计算两个数据集

如何按行合并 t1 和 t2 ?

我尝试了以下

产生错误

ValueError:无法在 DataFrame 上调用 bool()。

我做错了什么?

提前致谢

0 投票
1 回答
6636 浏览

python - 将 pandas MultiIndex DataFrame 从行转换为列

我正在使用 zipline 和 pandas 并已使用该方法将 a 转换pandas.Panel为 a 。如您所见,这是多索引的结果:pandas.DataFrameto_frame()pandas.DataFrame

我需要将此框架转换为如下所示:

我已经尝试过 pivot 方法、stack/unstack 等,但这些方法不是我想要的。在这一点上我真的很困惑,任何帮助表示赞赏。

0 投票
8 回答
39280 浏览

python - Pandas MultiIndex 中的重采样

我有一些分层数据,这些数据最终变成时间序列数据,看起来像这样:

我想对每个城市进行时间重采样,所以像

会输出

照原样,df.resample('2D', how='sum')让我

很公平,但我有点希望这能奏效:

在这一点上我真的没有想法了......有什么方法可以帮助我吗?

0 投票
2 回答
66520 浏览

pandas - Pandas:向多索引列数据框添加一列

我想将一列添加到多索引列数据框的第二级。

直接赋值的常用技巧不起作用:

如何将第三行添加到“栏”下?

0 投票
1 回答
467 浏览

c++ - 使用 Composite_key 和按位与比较来提升 multi_index_container

我想用 boost multi_index_container 和 composite_key 来实现这样的目标:

知道:

目标是能够执行以下操作:

这将允许我检索 LogicalAnd 返回 true 的所有元素。

问题是我无法让我的 LogicalAnd 比较器与我的 multi_index_container 一起工作。

我可以通过在composite_key_equal_to 之前添加一个composite_key_hash 来构建它:

但是find操作并没有按预期工作,所以它并没有太大变化......

我搜索了 boost 文档,并尝试了各种实现,但我被大量的信息淹没了......

任何帮助表示赞赏!