问题描述
timestamp device_id metric_name metric_value
2020-10-20 6C0301 throughput 5.0
2020-10-21 6C0301 throughput 6.3
2020-10-20 6C0301 cache 4.7
2020-10-21 6C0301 cache 2.1
2020-10-20 6C0302 throughput 1.4
2020-10-21 6C0302 throughput 1.8
2020-10-22 6C0302 blocks 9.3
2020-10-23 6C0302 blocks 7.2
因此,不同的设备在不同的时间,每个设备都有自己的一组metric_names和metric_values。
我需要产生一个像这样的表:
timestamp device_id throughput cache blocks
2020-10-20 6C0301 5.0 4.7 NULL
2020-10-21 6C0301 6.3 2.1 NULL
2020-10-20 6C0302 1.4 NULL NULL
2020-10-21 6C0302 1.8 NULL NULL
2020-10-22 6C0302 NULL NULL 9.3
2020-10-23 6C0302 NULL NULL 7.2
因此metric_name列中的值“未融合”到其自己的单独列中。
我正在看熊猫pivot_table,但它给了我错误的结果:
pd.pivot_table(df,values='metric_name',index=['timestamp','device_id'],columns=['metric_value'])
告诉我“ DataError:没有要聚合的数字类型”,即使metric_value列是float的,我也不希望聚合任何东西。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)