问题标签 [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 回答
3493 浏览

python - 如何在 pandas.multiindex 级别应用条件?

我的数据如下所示(ch= 通道,det= 检测器):

请注意,实际上,时间列是float12 位左右的有效数字,对于 1 次测量的所有检测器来说仍然是恒定的,但它的值是不可预测的,也不按顺序排列。

我需要创建一个如下所示的数据框:

即,我想np.mean在每个时间分别应用 1 个通道的检测器的所有计数。我可以编写笨拙的循环,但我觉得 pandas 必须为此内置一些东西。我仍然是 pandas 的初学者,尤其是 MultiIndex 有很多概念,我不确定我应该在文档中寻找什么。

标题包含“条件”,因为我认为也许我想要一个通道的所有检测器的平均值对于时间相同的计数这一事实可以表示为切片条件。

0 投票
3 回答
22554 浏览

python - panda的多索引的好处?

所以我了解到我可以使用 DataFrame.groupby 而不需要 MultiIndex 来进行子采样/横截面。

另一方面,当我在 DataFrame 上有一个 MultiIndex 时,我仍然需要使用 DataFrame.groupby 来进行子采样/横截面。

那么除了打印时层次结构的非常有用和漂亮的显示之外,MultiIndex 还有什么好处呢?

0 投票
2 回答
1688 浏览

python - 日内时间序列的多指数构建(10 分钟价格数据)

我每十分钟就有一个盘中价格文件。[0:41] 一天。每个日期重复 42 次。下面的多索引应始终将重复的日期“折叠”为一个。

  • 有 62,035 行 x 3 列:[date, time, price].

  • 我想编写一个函数来获取十分钟价格的差异,将差异限制在每个唯一日期。

换句话说,09:30 是每天的第一次,16:20 是最后一次:我不能重叠从 16:20 到 09:30 的价格天数之间的差异。对于数据框中的每个唯一日期,差异应从 09:40 - 09:30 开始,并以 16:20 - 16:10 结束。

这是我的尝试。任何建议将不胜感激。

然后我打电话:

在回溯中 - 我得到一个Assertion Error.

0 投票
2 回答
3186 浏览

python-2.7 - pandas:按二级索引范围切片 MultiIndex DataFrame

已经发布了可以在多索引熊猫系列上对第二个索引进行切片:

然后要获取第一个索引 = 1 的前三行,您只需说:

这适用于一维系列,但不适用于 DataFrame:

无论第一个索引级别如何,它都会为您提供“第 1”列数据和前三行。对于多索引 DataFrame,如何获取第一个 index=1 的前三行?

0 投票
7 回答
168057 浏览

python - 从嵌套字典中的项目构造 pandas DataFrame

假设我有一个嵌套字典 'user_dict' 的结构:

  • 级别 1: UserId(长整数)
  • 级别 2:类别(字符串)
  • 第 3 级:各种属性(浮点数、整数等)

例如,此字典的条目将是:

中的每个项目都user_dict具有相同的结构,并且user_dict包含大量我想提供给 pandas DataFrame 的项目,从属性构造系列。在这种情况下,分层索引将对此有用。

具体来说,我的问题是是否存在一种方法来帮助 DataFrame 构造函数理解该系列应该从字典中“级别 3”的值构建?

如果我尝试类似:

“级别 1”(UserId)中的项目被视为列,这与我想要实现的目标相反(将 UserId 作为索引)。

我知道我可以在遍历字典条目后构建系列,但如果有更直接的方法,这将非常有用。一个类似的问题是询问是否可以从文件中列出的 json 对象构造 pandas DataFrame。

0 投票
3 回答
298 浏览

python - 合并两个数据框并使用多索引创建一个新数据框

我都,

我在 Pandas 中有两个数据框:

一个

b

我想将两个数据帧合并到一个新的数据帧中,其中包含一个多索引,例如:

新的_df

具有多索引 ('10m','all') 的元素是a,接下来的行是b

有人知道如何在 Pandas 中实现这一目标吗?

非常感谢,

格雷格

编辑:

大家好,

我向前移动并扩大了高度。我现在有一个问题,因为高度和扇区没有从低到​​高排序,也没有从低扇区到高扇区排序。

这就是我得到的:

我想对多索引进行排序,使高度顺序为:10、20、40、80、140 和 200m;和扇区:'All','[0.0, 90.0[','[90.0, 180.0[','[180.0, 270.0[','[270.0, 360.0]'。我试图像这样重新索引,但它不起作用

这是 df 字典:

任何人都知道如何重新索引此数据框以使索引级别按排序顺序排列?

谢谢

0 投票
1 回答
130 浏览

c++ - 是否可以在向量上分配 boost::multi_index 或 boost::intrusive 项?

是否可以在向量上分配 boost::multi_index 项并在该向量中使用索引(4 字节)而不是指针(8 字节)到处(包括 boost::multi_index 的内部结构)以节省内存?

0 投票
1 回答
7085 浏览

python - 按对象将熊猫分组转换为多索引数据框

如果我有以下数据框

我可以按名称和目的地...

但我想要一个新的多索引数据框,看起来像

似乎应该有一种方法来Dataframe(grouped)获取我的多索引数据帧,但我得到了一个PandasError(“数据帧构造函数未正确调用!”)。

得到这个最简单的方法是什么?另外,任何人都知道是否会有将 groupby 对象传递给构造函数的选项,或者我只是做错了吗?

谢谢

0 投票
4 回答
5407 浏览

python - 在带有 MultiIndex 列的 pandas 数据框中添加一个字段

我一直在寻找这个问题的答案,因为它看起来很简单,但还没有找到任何东西。抱歉,如果我错过了什么。我有 pandas 0.10.0 版,我一直在试验以下形式的数据:

如您所见,我正在尝试表示 3d 时间序列数据。所以我有一个时间序列索引和 MultiIndex 列。我对切片数据很满意。如果我只想要收盘数据的尾随平均值,我可以执行以下操作:

我不能做的是创建一个新字段,例如 avg_close 并分配给它。理想情况下,我想做以下事情:

dftst[:,'avg_close'] = pandas.rolling_mean(dftst.ix[:,::2], 5)

即使我交换 MultiIndex 的级别,我也无法使其工作:

如果我的列不是 MultiIndex,我可以指定执行以下操作:

要添加一个字段,基于另一个字段,我可以执行以下操作:

我曾尝试使用 Panel 对象,但到目前为止还没有找到一种快速的方法来添加我有 MultiIndex 列的字段,理想情况下,其他级别的列将被广播。如果有其他帖子回答了这个问题,我深表歉意。任何建议将不胜感激。

0 投票
1 回答
89512 浏览

python - Pandas 中的多索引排序

我在 pandas df 中有一个包含多索引列的数据集,我想按特定列中的值进行排序。我曾尝试使用 sortindex 和 sortlevel,但无法获得我正在寻找的结果。我的数据集如下所示:

我想按第 1 组中的 C 列按降序对所有数据和索引进行排序,因此我的结果如下所示:

是否可以使用我的数据所在的结构进行这种排序,或者我应该将 Group1 交换到索引端?