重塑大熊猫至长熊猫

假设我在熊猫中有以下数据框:


             AA  BB  CC     

   date

   05/03     1   2   3  

   06/03     4   5   6  

   07/03     7   8   9  

   08/03     5   7   1  

我想将其转换为以下内容:


   AA 05/03    1

   AA 06/03    4

   AA 07/03    7

   AA 08/03    5

   BB 05/03    2

   BB 06/03    5

   BB 07/03    8

   BB 08/03    7

   CC 05/03    3

   CC 06/03    6

   CC 07/03    9

   CC 08/03    1

我该怎么做?


从宽到长的转换的原因是,在下一阶段,我想根据日期和初始列名(AA,BB,CC)将此数据框与另一个数据框合并。


ITMISS
浏览 448回答 2
2回答

jeck猫

unstack 返回具有多索引的序列:  In [38]: df.unstack()    Out[38]:         date     AA  05/03    1        06/03    4        07/03    7        08/03    5    BB  05/03    2        06/03    5        07/03    8        08/03    7    CC  05/03    3        06/03    6        07/03    9        08/03    1    dtype: int64您可以在返回的序列上调用reset_index:In [39]: df.unstack().reset_index() Out[39]:            level_0 date    00   AA      05-03   11   AA      06-03   42   AA      07-03   73   AA      08-03   54   BB      05-03   25   BB      06-03   56   BB      07-03   87   BB      08-03   78   CC      05-03   39   CC      06-03   610  CC      07-03   911  CC      08-03   1或构造具有多索引的数据框:In [40]: pd.DataFrame(df.unstack())     Out[40]:                    0    date    AA  05-03   1    06-03   4    07-03   7    08-03   5BB  05-03   2    06-03   5    07-03   8    08-03   7CC  05-03   3    06-03   6    07-03   9    08-03   1

米琪卡哇伊

使用pandas.melt从宽变长:df = pd.DataFrame({    'date' : ['05/03', '06/03', '07/03', '08/03'],    'AA' : [1, 4, 7, 5],    'BB' : [2, 5, 8, 7],    'CC' : [3, 6, 9, 1]}).set_index('date')df        AA  BB  CCdate            05/03   1   2   306/03   4   5   607/03   7   8   908/03   5   7   1要进行转换,我们只需要重置索引然后融化:df = df.reset_index()pd.melt(df, id_vars='date', value_vars=['AA', 'BB', 'CC'])这是最终结果:    date variable value0   05/03   AA  11   06/03   AA  42   07/03   AA  73   08/03   AA  54   05/03   BB  25   06/03   BB  56   07/03   BB  87   08/03   BB  78   05/03   CC  39   06/03   CC  610  07/03   CC  911  08/03   CC  1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python