如何从聚合结果的data4hr与data2hr数据集提取共同key值
如何从聚合结果的data4hr与data2hr数据集提取共同key值
嘿,我来给你捋捋怎么找出这两个聚合数据集里的共同key,其实思路很简单,分两步就能搞定:
第一步:提取两个数据集的key列表
先分别从data4hr和data2hr的NAME.buckets里,把每个桶的key字段提取出来,各自存成一个列表。举两个常用语言的例子:
JavaScript版本:// 假设你的聚合结果存储在aggResult变量中 const data4hrKeys = aggResult.aggregations.data4hr.NAME.buckets.map(item => item.key); const data2hrKeys = aggResult.aggregations.data2hr.NAME.buckets.map(item => item.key);Python版本:
# 假设聚合结果是agg_result字典 data4hr_keys = [bucket['key'] for bucket in agg_result['aggregations']['data4hr']['NAME']['buckets']] data2hr_keys = [bucket['key'] for bucket in agg_result['aggregations']['data2hr']['NAME']['buckets']]第二步:计算两个列表的交集
拿到两个key列表后,只需要找出同时存在于两个列表里的值就行。如果数据量比较大,用集合(Set)来处理效率会更高:
JavaScript版本:const keySet = new Set(data4hrKeys); const commonKeys = data2hrKeys.filter(key => keySet.has(key)); // commonKeys就是两个数据集共有的key啦Python版本:
common_keys = list(set(data4hr_keys) & set(data2hr_keys)) // common_keys就是最终的共同key列表
其实不管用什么语言,核心逻辑都是先把两个数据集的key都捞出来,再找它们的交集。要是你用的是其他语言,照着这个思路调整代码就行~
备注:内容来源于stack exchange,提问作者Sajid Ta
相关产品推荐
相关产品推荐

