Python 分组数据的多索引筛选

Python 分组数据的多索引筛选,python,pandas-groupby,multi-index,Python,Pandas Groupby,Multi Index,我有一个熊猫数据框,在这里我做了一个groupby。groupby结果如下所示: 正如您所看到的,这个数据帧有一个多级索引('ga:dimension3','ga:data')和一个列('ga:sessions') 我希望创建一个带有第一级索引(“ga:dimension3”)和每个第一级索引值的第一个日期的数据框: 我不知道该怎么做 感谢您的指导 提前感谢。受@ggaurav建议使用first()的启发,我认为以下内容应该可以完成工作(df是您在分组后提供的数据): 你可以直接使用。由于您

我有一个熊猫数据框,在这里我做了一个groupby。groupby结果如下所示:

正如您所看到的,这个数据帧有一个多级索引('ga:dimension3','ga:data')和一个列('ga:sessions')

我希望创建一个带有第一级索引(“ga:dimension3”)和每个第一级索引值的第一个日期的数据框:

我不知道该怎么做

感谢您的指导


提前感谢。

受@ggaurav建议使用first()的启发,我认为以下内容应该可以完成工作(df是您在分组后提供的数据):

你可以直接使用。由于您只需要基于
'ga:dimension3'
的数据,因此您需要按它分组(或级别=0)

没有groupby,您可以获取级别0索引值,删除重复的索引值并保留第一个索引值

df[~df.index.get_level_values(0).duplicated(keep='first')]

在这里查看一些解决方案:我可能没有清楚地表达这一点。我已经完成了groupby(这是第一张图片)。我只需要每个“ga:dimension3”(level=0)值的第一个日期(level=1)和相应的值(“ga:sessions”)。我已经在没有groupby的情况下更新了答案。有效吗?我已经采取了类似的数据帧,它似乎在那里工作。是的。这是一个有用且很好的答案,但绿色检查会转到@ioaTzimas以获得一个稍微干净的系统。这似乎有效(对我来说——我必须更彻底地检查它,但看起来不错)。
reset\u index
的目的是什么?为什么
reset\u index(1)
?我们需要它以便能够重新组合?您能再解释一下吗?看起来重置将df更改回单个索引,日期变为一列。然后,groupby只需在每个维度的新分组日期/会话中取第一行。日期再次变为列,但与原始数据不同。它保留了第一个groupby提供的结构
df.groupby(level=0).first()
df[~df.index.get_level_values(0).duplicated(keep='first')]