Python / Pandas - 多维数据透视表

3

我是Python/Pandas的新手。我正在尝试将行转置为列。如有误解之处,请见谅。

输入数据框(图片) 输出数据框(图片)
input_df:
Date    Project    Processes                Time_in_sec Time_measures
-----------------------------------------------------------------------
7/6/2017    FE      eBanking .aspx          157         Average Response Time 
9/2/2017    PCB     eBanking Frontpage.fi   227         Call per hour
1/23/2017   ICC     Acct Transfer.dc        28          Average Response Time 
1/24/2017   PCB     Transaction .com        0           Number of calls
1/23/2017   ICC     eBanking Logon.no       0           Number of calls

output_df:
Date    Project Processes   Average Response Time   Call per hour   Number of calls
-----------------------------------------------------------------------------
7/6/2017    FE  eBanking .aspx        157       
9/2/2017    PCB eBanking Frontpage.fi                    227    
1/24/2017   PCB Transaction .com                                        0
1/23/2017   ICC Acct Transfer.dc      28        
1/23/2017   ICC eBanking Logon.no                                       0

我尝试了下面的代码,但输出结果中只有3列:'平均响应时间'、'每小时通话次数'和'呼叫数量',如此图所示。但我不知道如何获取所有必要的6列。请问您能帮忙吗?
    output_df = input_df.pivot(columns = 'Time_measures',  values= 'Time_in_sec')
1个回答

1
如果我理解正确,您可以使用 pivot_tablereset_index
df.pivot_table(columns='Time_measures', values='Time_in_sec',index=['Date','Project','Processes'],fill_value='').reset_index()
Out[98]: 
Time_measures       Date Project              Processes  \
0              1/23/2017     ICC       Acct Transfer.dc   
1              1/23/2017     ICC      eBanking Logon.no   
2              1/24/2017     PCB       Transaction .com   
3               7/6/2017      FE         eBanking .aspx   
4               9/2/2017     PCB  eBanking Frontpage.fi   
Time_measures Average Response Time  Call per hour Number of calls  
0                                 28                                
1                                                                0  
2                                                                0  
3                                157                                
4                                              227                  

@Tad 如果这是你需要的,你能考虑接受它吗? - BENY
现在已经接受了 :) 。我是 Stack Overflow 的新手,一直在寻找接受选项 :-)。 - Tad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接