熊猫数据框的索引目前是两列的“分组依据”,但我希望它们作为自己的列,并带有标准数字索引
Posted
技术标签:
【中文标题】熊猫数据框的索引目前是两列的“分组依据”,但我希望它们作为自己的列,并带有标准数字索引【英文标题】:Index of a pandas dataframe is currently a "group by" of two columns, but I want them as their own columns with a standard numerical index 【发布时间】:2020-11-18 08:26:26 【问题描述】:我有一个数据框 df_stack,其类别为“member_no”、“group”和“color”,看起来像 this
我的目标是按 ('member_no', 'group') 分组,并在各自的列中列出与这些对相对应的所有颜色。到目前为止,我的进展是这样的:
dat = [[1, 'A', 'green'], [1, 'A', 'blue'], [1, 'B', 'red'], [2, 'A', 'blue'], [2, 'B', 'red'], [3, 'A', 'yellow'], [3, 'A','pink']]
cols = ['member_no', 'group', 'color']
df_stack = pd.DataFrame(dat, columns=cols)
df2 = pd.pivot_table(df_stack, index= ['member_no','group'],columns=df_stack.groupby(['member_no','group']).cumcount().add(1),values=['color'],aggfunc='sum')
生成的 DF 看起来像 this
这与我需要做的非常接近,但我最终需要它看起来像 this
我对如何将索引转换为标准 [0,1,2,....] 并使 member_no 和自己的列分组感到困惑。本质上,我只希望 (member_id, group) 的每一对都有自己的行,随后的列是与该配对相关的所有颜色。如果一个配对比其他配对多,那么较小的配对在那些空单元格中具有空值是可以的。非常感谢任何帮助!
PS 抱歉,我没有将我的数据框发布为文本而不是图像,我还没有弄清楚如何做到这一点:/
【问题讨论】:
【参考方案1】:尝试在末尾添加 df2.reset_index()
并检查是否满足您的需求。
【讨论】:
做到了!非常感谢你以上是关于熊猫数据框的索引目前是两列的“分组依据”,但我希望它们作为自己的列,并带有标准数字索引的主要内容,如果未能解决你的问题,请参考以下文章