gpt4 book ai didi

python - DataFrame.stack() 后的新索引级别名称

转载 作者:太空宇宙 更新时间:2023-11-03 11:50:48 25 4
gpt4 key购买 nike

(注意 this SO question 看起来相似但不同。)

我有一个 MultiIndexed DataFrame,其中的列代表每年的数据:

>>> x = pd.DataFrame({
'country': {0: 4.0, 1: 8.0, 2: 12.0},
'series': {0: 553.0, 1: 553.0, 2: 553.0},
'2000': {0: '1100', 1: '28', 2: '120'},
'2005': {0: '730', 1: '24', 2: '100'}
}).set_index(['country', 'series'])
>>> x
2000 2005
country series
4 553 1100 730
8 553 28 24
12 553 120 100

当我堆叠年份时,新的索引级别没有名称:

>>> x.stack()
country series
4 553 2000 1100
2005 730
8 553 2000 28
2005 24
12 553 2000 120
2005 100
dtype: object

有什么好的方法可以告诉 stack 我想将新关卡命名为 'year'the docs 中没有提到这一点.

我总能做到:

>>> x.columns.name = 'year'
>>> x.stack()

但是,在我看来,这算不上非常“好”。任何人都可以一行完成吗?

最佳答案

有一种链接友好的方法可以使用 DataFrame.rename_axis 在一行中完成它(虽然公认的不是更好):

x.rename_axis('year', axis=1).stack()

关于python - DataFrame.stack() 后的新索引级别名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28303913/

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