为了账号安全,请及时绑定邮箱和手机立即绑定

重塑熊猫数据框失败

重塑熊猫数据框失败

胡说叔叔 2021-07-09 14:15:17
我想重塑我的数据框,它只有键值对。例如,             key                                              value0     Message-ID       <5525962.1075855679785.JavaMail.evans@thyme>1           Date              Wed, 13 Dec 2000 07:04:00 -0800 (PST)2           From                            phillip.allen@enron.com3             To  christi.nicolay@enron.com, james.steffes@enron...4         X-From                                    Phillip K Allen5           X-To  Christi L Nicolay, James D Steffes, Jeff Dasov...6          X-cc:                                               None7         X-bcc:                                               None8       X-Origin                                            Allen-P9     Message-ID       <4650921.1075855679981.JavaMail.evans@thyme>10          Date               Tue, 5 Dec 2000 07:31:00 -0800 (PST)11          From                               ina.rangel@enron.com12            To                             amanda.huble@enron.com13        X-From                                         Ina Rangel14          X-To                                       Amanda Huble15         X-cc:                                               None16        X-bcc:                                               None17      X-Origin                                            Allen-P我想把它变成:Message-ID       Date                  From             To        X-From                 X-To                            X-cc:  X-bcc:  X-Origin<5525962.10...   Wed, 13 Dec 2000...   phillip.allen... christi.nicolay.. Phillip K Allen..     Christi L Nicolay, Ja... NaN    NaN     Allen-P<4650921.10...   Tue, 5 Dec 2000 ...   ina.rangel...    amanda.huble@...  Ina Rangel            Amanda Huble             NaN    NaN     Allen-P我尝试旋转表格,但我很困惑我应该提供什么作为索引参数。请帮我解决这个问题。如果您发现它,请随意标记为重复。
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

如果每个组具有总是9值是可能的用途numpy.reshape为2d array与DataFrame构造器,也可用于列的值先取列值9 key:


print (df['value'].values.reshape(-1, 9))

[['<5525962.1075855679785.JavaMail.evans@thyme>'

  'Wed, 13 Dec 2000 07:04:00 -0800 (PST)' 'phillip.allen@enron.com'

  'christi.nicolay@enron.com, james.steffes@enron...' 'Phillip K Allen'

  'Christi L Nicolay, James D Steffes, Jeff Dasov...' 'None' 'None'

  'Allen-P']

 ['<4650921.1075855679981.JavaMail.evans@thyme>'

  'Tue, 5 Dec 2000 07:31:00 -0800 (PST)' 'ina.rangel@enron.com'

  'amanda.huble@enron.com' 'Ina Rangel' 'Amanda Huble' 'None' 'None'

  'Allen-P']]



df = pd.DataFrame(df['value'].values.reshape(-1, 9), columns=df['key'].iloc[:9])

print (df)

key                                    Message-ID  \

0    <5525962.1075855679785.JavaMail.evans@thyme>   

1    <4650921.1075855679981.JavaMail.evans@thyme>   


key                                   Date                     From  \

0    Wed, 13 Dec 2000 07:04:00 -0800 (PST)  phillip.allen@enron.com   

1     Tue, 5 Dec 2000 07:31:00 -0800 (PST)     ina.rangel@enron.com   


key                                                 To           X-From  \

0    christi.nicolay@enron.com, james.steffes@enron...  Phillip K Allen   

1                               amanda.huble@enron.com       Ina Rangel   


key                                               X-To X-cc: X-bcc: X-Origin  

0    Christi L Nicolay, James D Steffes, Jeff Dasov...  None   None  Allen-P  

1                                         Amanda Huble  None   None  Allen-P 

如果Message-ID每个组的数据总是可以set_index与布尔掩码Series创建的助手一起使用cumsum- 比较用于识别每个组的开始:eq ==


df = df.set_index([df['key'].eq('Message-ID').cumsum(), 'key'])['value'].unstack()

print (df)

key                                   Date                     From  \

key                                                                   

1    Wed, 13 Dec 2000 07:04:00 -0800 (PST)  phillip.allen@enron.com   

2     Tue, 5 Dec 2000 07:31:00 -0800 (PST)     ina.rangel@enron.com   


key                                    Message-ID  \

key                                                 

1    <5525962.1075855679785.JavaMail.evans@thyme>   

2    <4650921.1075855679981.JavaMail.evans@thyme>   


key                                                 To           X-From  \

key                                                                       

1    christi.nicolay@enron.com, james.steffes@enron...  Phillip K Allen   

2                               amanda.huble@enron.com       Ina Rangel   


key X-Origin                                               X-To X-bcc: X-cc:  

key                                                                           

1    Allen-P  Christi L Nicolay, James D Steffes, Jeff Dasov...   None  None  

2    Allen-P                                       Amanda Huble   None  None  


查看完整回答
反对 回复 2021-07-13
  • 1 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信