透视非数字类型的熊猫

时间:2019-11-18 10:10:54

标签: python pandas

我有一个数据框。

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的错误消息

还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

如果每个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)