gpt4 book ai didi

python - 在没有明确级别名称的情况下转向多索引

转载 作者:行者123 更新时间:2023-12-01 09:03:07 24 4
gpt4 key购买 nike

我想将数据框 reshape 为具有两级列,而不指定子级的名称。

举个例子,最初我的数据看起来像这样,有索引“日期”和“产品”,然后是一些列:

                    a           b
date product
2011-11 foo 1. 2.1
2011-12 foo 2.432 2.3
2012-01 bar 0.4 1.7
2012-01 foo 0.84 1.8
2014-06 bar 0. 2.
2014-07 bar 1.68 3.

请注意,每个日期、产品组合只有一行(索引是唯一的)。

我想将其 reshape 为单个索引、日期,将产品移动到列级别:

                     foo                   bar
a b a b
date
2011-11 1. 2.1 NaN NaN
2011-12 2.432 2.3 NaN NaN
2012-01 0.84 1.8 0.4 1.7
2014-06 NaN NaN 0. 2.
2014-07 NaN NaN 1.68 3.

我不确定如何编写数据透视表,因为列名 a 和 b 不是固定的,并且每次运行此过程时可能会或多或少。

最佳答案

使用unstackswaplevel:

df.unstack(1).swaplevel(1,0, axis=1).sort_index(1)

product   bar         foo
a b a b
date
2011-11 NaN NaN 1.000 2.1
2011-12 NaN NaN 2.432 2.3
2012-01 0.40 1.7 0.840 1.8
2014-06 0.00 2.0 NaN NaN
2014-07 1.68 3.0 NaN NaN

关于python - 在没有明确级别名称的情况下转向多索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52299571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com