我想把一些列的索引堆叠在一起,这是我目前拥有的:
Buy Buy Currency Sell Sell Currency
Date
2013-12-31 100 CAD 100 USD
2014-01-02 200 USD 200 CAD
2014-01-03 300 CAD 300 USD
2014-01-06 400 USD 400 CAD
这就是我希望实现的目标:
Buy/Sell Buy/Sell Currency
100 USD
100 CAD
200 CAD
200 USD
300 USD
300 CAD
以此类推,基本上就是取“买入”和“买入货币”中的值,然后把它们的值一个接一个地堆在“卖出”和“卖出货币”列中。
等等。我应该提到我的数据框总共有10列,所以使用
df_pl.stack(level=0)
好像不起作用。
3条答案
按热度按时间7bsow1i61#
一个选项是使用pivot_longger from pyjanitor,对于这个特定用例,您传递一个正则表达式列表(到
names_pattern
),以将所需的列标签聚合到新组中(在names_to
中):41ik7eoe2#
使用concat
输出:
hfyxw5xn3#