【发布时间】:2021-11-15 20:43:54
【问题描述】:
我有以下数据框:
不同的“类型”可以同时出现在“时间”,但只需要根据以下条件获取“类型”和“值”即可:
- 优先级1:类型重要性为t>o>f
- 优先级 2:值列中要考虑的最高值
我尝试过使用 groupby 和字典:
grp = merged_df.groupby(['name','time'],as_index=False)[['type','value']].apply(lambda x: dict(x.values.tolist()))
这给出了这样的输出:
有没有什么办法可以根据上面两条规则得到最优的键值对,这样输出就可以了:
以上是我尝试过的一种方法,这就是为什么问题是关于字典中的最佳键值对的原因。但是,任何其他更优雅的方法也可以。
最终结果应该是:
【问题讨论】:
标签: python pandas dictionary group-by key-value