【问题标题】:how can I use reset_index with the multi grouped values(Hierarchical format) in Pandas Python如何在 Pandas Python 中将 reset_index 与多分组值(分层格式)一起使用
【发布时间】:2018-08-04 17:33:28
【问题描述】:

这是我的数据格式,我想重置索引并希望将其设为一种表格格式,因此我可以计算第二行的所有 id 的计数,并可以使用按日期和计数的直方图绘制它们,

有什么简单的想法吗?

【问题讨论】:

  • 这里的 get_level_index(-1) 是什么意思以及它将如何获取第二列索引的 value_count
  • df.reset_index() 的输出是什么?请直接以文本形式发布代码和数据,而不是屏幕截图。
  • df.reset_index 在这里不起作用,我试过了,这就是为什么我在这里发布我的代码是grouping= HistData.groupby([pd.TimeGrouper('2H'), 'ID1, 'ID2']) grouper = grouping['ID1'].count() type(grouper)
  • @Ravi 请发布重现您的问题的示例数据。不是截图。
  • 我在Answer box里贴了数据,请看一下

标签: python pandas python-3.5


【解决方案1】:

如果reset_index() 不起作用,您也可以手动转换表格。 假设 df1 是您现有的数据框,我们将创建您想要的 df2(新的)。

df2 = pd.DataFrame()

df2['DateTime'] = df1.index.get_level_values(0).tolist()
df2['ID1'] = df1.index.get_level_values(1).tolist()
df2['ID2'] = df1['ID2'].values.tolist()
df2['Count'] = df1['Count'].values.tolist()

【讨论】:

  • 我之前尝试过此解决方案,但 df1 不再是数据框,因此我没有从该列表中选择列,如您所述。
  • 那么df1的类型是什么?
  • 我检查了它告诉我 Pandas series.Series 的 type(df1),但我不确定为什么它无法选择列.. 使用 df1['ID1'] 我仍在寻找问题是怎么回事。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 1970-01-01
  • 1970-01-01
  • 2014-12-01
  • 2016-03-15
  • 2016-06-14
  • 1970-01-01
相关资源
最近更新 更多