首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以一种特定的方式转动熊猫df

以一种特定的方式转动熊猫df
EN

Stack Overflow用户
提问于 2022-08-16 18:43:39
回答 1查看 31关注 0票数 1

我有以下数据集,我想做一些重大调整(以某种方式对数据进行枢轴)。(这一天一直持续到12月,只是出于方便的原因没有包括在内)

输入:

代码语言:javascript
复制
Series ID       View Description          Jan-10   Feb-10   Mar-10   Apr-10 
Food            12-Month Percent Change   219.98   210.98   205      202  
Drinks          Original Data Value       215.46   205.04   206      203   
Food at Home    Original Data Value       202.88   203      207      199.98 

期望产出:

代码语言:javascript
复制
Series ID     View Description          Month    Year   Value
Food          12-Month Percent Change   January  2010   219.98
Food          12-Month Percent Change   February 2010   210.98
Food          12-Month Percent Change   March    2010   205
Food          12-Month Percent Change   April    2010   202
Drinks        Original Data Value       January  2010   215.45
Drinks        Original Data Value       February 2010   205.04
Drinks        Original Data Value       March    2010   206
Drinks        Original Data Value       April    2010   203
Food at Home  Original Data Value       January  2010   202.88
Food at Home  Original Data Value       February 2010   203
Food at Home  Original Data Value       March    2010   207
Food at Home  Original Data Value       April    2010   199.98

注意:实际上,这些数据包括所有12个月的数据,而且年份列也应该能够采用任何值。任何建议都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-16 18:57:22

这里有一种方法。使用熔融将DF堆栈,排序,然后将日期拆分为年份和月份。

代码语言:javascript
复制
df2=df.melt(id_vars=['Series ID','View Description' ],
            var_name='date', 
            value_name='value'
           ).sort_values(['View Description','Series ID'])

df2['year']=pd.to_datetime(df2['date'],format='%b-%y').dt.year
df2['month']=pd.to_datetime(df2['date'],format='%b-%y').dt.month_name()
df2.drop(columns='date', inplace=True)
df2
代码语言:javascript
复制
    Series ID       View Description             value  year    month
0   Food            12-Month Percent Change     219.98  2010    January
3   Food            12-Month Percent Change     210.98  2010    February
6   Food            12-Month Percent Change     205.00  2010    March
9   Food            12-Month Percent Change     202.00  2010    April
1   Drinks          Original Data Value         215.46  2010    January
4   Drinks          Original Data Value         205.04  2010    February
7   Drinks          Original Data Value         206.00  2010    March
10  Drinks          Original Data Value         203.00  2010    April
2   Food at Home    Original Data Value         202.88  2010    January
5   Food at Home    Original Data Value         203.00  2010    February
8   Food at Home    Original Data Value         207.00  2010    March
11  Food at Home    Original Data Value         199.98  2010    April
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73378855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档