简体   繁体   English

仅转置数据框中的几列和几行

[英]Transpose only few columns and rows from a dataframe

I am looking to transpose only certain columns in my dataframe and their values by keeping starting columns fixed. 我希望通过固定起始列来只转置数据框中的某些列及其值。

I/P frame: I / P框架:

Type    Class   24/01/2018  25/01/2018  26/01/2018
Plant1  Plant   5498    5998    5815
Plant2  Plant   3416    4844    4991
Veg1    Vegetable   5426    5464    3756
Veg2    Vegetable   5317    4616    7528

O/P frame: O / P帧:

Type    Class   Value   Date
Plant1  Plant   5498    24/01/2018
Plant1  Plant   5998    25/01/2018
Plant1  Plant   5815    26/01/2018
Veg1    Vegetable   5426    24/01/2018
Veg1    Vegetable   5464    25/01/2018
Veg1    Vegetable   3756    26/01/2018

I normally do this in excel, and tried using pivot in pandas but unable to get an idea to implement it. 我通常在excel中执行此操作,并尝试在pandas中使用数据透视,但无法获得实现它的想法。 Can anyone help in giving me a lead? 谁能帮我带头?

Thanks 谢谢

melt

df.melt(['Type', 'Class'], var_name='Date', value_name='Value')

      Type      Class        Date  Value
0   Plant1      Plant  24/01/2018   5498
1   Plant2      Plant  24/01/2018   3416
2     Veg1  Vegetable  24/01/2018   5426
3     Veg2  Vegetable  24/01/2018   5317
4   Plant1      Plant  25/01/2018   5998
5   Plant2      Plant  25/01/2018   4844
6     Veg1  Vegetable  25/01/2018   5464
7     Veg2  Vegetable  25/01/2018   4616
8   Plant1      Plant  26/01/2018   5815
9   Plant2      Plant  26/01/2018   4991
10    Veg1  Vegetable  26/01/2018   3756
11    Veg2  Vegetable  26/01/2018   7528

set_index + stack set_index + stack

(df.set_index(['Type', 'Class'])
   .stack()
   .rename_axis(['Type', 'Class', 'Date'])
   .reset_index(name='Value')
)

      Type      Class        Date  Value
0   Plant1      Plant  24/01/2018   5498
1   Plant1      Plant  25/01/2018   5998
2   Plant1      Plant  26/01/2018   5815
3   Plant2      Plant  24/01/2018   3416
4   Plant2      Plant  25/01/2018   4844
5   Plant2      Plant  26/01/2018   4991
6     Veg1  Vegetable  24/01/2018   5426
7     Veg1  Vegetable  25/01/2018   5464
8     Veg1  Vegetable  26/01/2018   3756
9     Veg2  Vegetable  24/01/2018   5317
10    Veg2  Vegetable  25/01/2018   4616
11    Veg2  Vegetable  26/01/2018   7528

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM