枢纽非数字类型的

枢纽非数字类型的

This question already has answers here:
pivot_table No numeric types to aggregate
                                
                                    (2个答案)
                                
                        
                                3个月前关闭。
            
                    
我有一个数据框。

date           name     start_time_bin      skill set
2019-10-25     Joe       10am- 12am          C,Python
2019-10-25     Mark      10am- 12am          Java,Python
2019-10-25     Sara      12pm- 2pm          Java,Python
2019-10-26     Jim       12pm- 2pm           C,Python, scala
2019-10-26     Bob       >=2pm < 4pm         C,SQL


我正在尝试使用数据透视表将此数据帧转换为类似的内容。

Audit_date    10am- 12am   12pm- 2pm      >=2pm < 4pm
2019-10-25       Joe          Sara            Nan
2019-10-25       Mark          Nan            Nan
2019-10-26       Nan           Jim            Bob


我尝试使用以下内容:

piv = new.pivot_table(index=['Audit_Date'], columns='start_time_bin', values='name')

我在No numeric types to aggregate时遇到错误

还有其他方法吗?

最佳答案

如果从来没有每个Audit_Datestart_time_bin重复,则可以使用first聚合:

piv = new.pivot_table(index='Audit_Date',
                      columns='start_time_bin',
                      values='name',
                      aggfunc='first')


或者,如果可能的话,则使用join进行汇总:

piv = new.pivot_table(index='Audit_Date',
                     columns='start_time_bin',
                     values='name',
                     aggfunc=', '.join)

关于python - 枢纽非数字类型的 Pandas ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58912146/

10-11 15:39