我有两个numpy数组,由两个集合元组组成:
a = [(1, "alpha"), (2, 3), ...]
b = [(1, "zylo"), (1, "xen"), (2, "potato", ...]
元组中的第一个元素是标识符,在两个数组之间共享,因此我想创建一个新的numpy数组,如下所示:
[(1, "alpha", "zylo", "xen"), (2, 3, "potato"), etc...]
我目前的解决方案可行,但对我来说效率太低了。看起来像这样:
aggregate_collection = []
for tuple_set in a:
for tuple_set2 in b:
if tuple_set[0] == tuple_set2[0] and other_condition:
temp_tup = (tuple_set[0], other tuple values)
aggregate_collection.append(temp_tup)
我怎样才能有效地做到这一点
我将把它们连接到一个数据帧中,然后
groupby
+agg
其中
0
和1
是通过pd.DataFrame
创建数据帧时给出的默认列名。将其更改为您的列名请注意,如果我尝试从
a
生成一个数组,我会得到完全不同的结果defaultdict
是收集类似键控值的便捷工具它可以转换为元组列表,具有:
我使用
a+b
加入列表,因为元组出现在哪里显然无关紧要Out[288]
甚至是一个糟糕的numpy
匹配,因为元组的大小不同,并且项目(第一个项目除外)可能是字符串或数字相关问题 更多 >
编程相关推荐