我试图在python中取消一个列的堆栈,但它并没有达到我预期的效果。我的表(称为df)与此类似:
station_id year Day1 Day2
210018 1916 4 7
1917 3 9
256700 1916 NaN 8
1917 6 9
我想按年拆箱,这样每个车站一年中的所有天数都在一行。从1916年开始的两天将首先开始,然后是1917年的两天,分别是210018站和256700站。在
示例如下:
^{pr2}$我试图使用以下代码:
df2=df.unstack(level='year')
df2.columns=df2.columns.swaplevel(0,1)
df2=df2.sort(axis=1)
我得到一个错误,它说AttributeError: 'Series' object has no attribute 'columns'
。在
任何帮助都将不胜感激。在
在调用unstack之前,
year
需要创建一个索引,然后调用unstack:收益率
^{pr2}$然而,如果
year
是列,而不是索引,那么导致
AttributeError: 'Series' object has no attribute 'columns'
。在当}中被忽略:
df
没有名为year
(或者甚至是blah
)的索引级别时,level='year'
在{这就是这个令人惊讶的错误的来源。在
相关问题 更多 >
编程相关推荐