【发布时间】:2017-12-02 05:05:54
【问题描述】:
我想按以下方式对数组进行分组:
a = np.array([ ['A', 1], ['man', 1], ['walks', 0], ['down', 0], ['the', 2], ['street', 2] ])
# would like the output to be:
b = np.array([ ['A man', 1], ['walks', 0], ['down', 0], ['the street', 2] ])
其中数组被分组到在一行或一列中具有相同项目的相邻项目,但仅适用于某些类型的条件,而不适用于其他条件。
在我的情况下,我有一个 null 或零类型的条件,应该忽略它,所有其他类型都会发生分组。
我已经尝试了itertools.groupby 的一些变体,因为我还没有弄清楚如何单独保留零大小写。
【问题讨论】:
-
为什么不直接使用
filter或添加一个将值转换为列表 ([v for k, v in it.groupby(*args) if len(v)) 的函数,这取决于您想要 lisp-ishness 还是惯用的 Python?
标签: python numpy group-by conditional