Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Numpy:有条件地添加行的特定列_Python_Arrays_Numpy - Fatal编程技术网

Python Numpy:有条件地添加行的特定列

Python Numpy:有条件地添加行的特定列,python,arrays,numpy,Python,Arrays,Numpy,对于给定的numpy数组: [[1, 1, 'IGNORE_THIS_COL', 100], [1, 1, 'IGNORE_THIS_COL', 101], [1, 2, 'IGNORE_THIS_COL', 100]] 是否可以有条件地对行(和列)求和?假设列0是组,列1是用户,那么我想相应地添加第四列。最后的“求和”数组应该如下所示 [[1, 1, 'IGNORE_THIS_COL', 201], [1, 2, 'IGNORE_THIS_COL', 100]] 我已经检查了多个答案

对于给定的numpy数组:

[[1, 1, 'IGNORE_THIS_COL', 100],
 [1, 1, 'IGNORE_THIS_COL', 101],
 [1, 2, 'IGNORE_THIS_COL', 100]]
是否可以有条件地对行(和列)求和?假设列0是组,列1是用户,那么我想相应地添加第四列。最后的“求和”数组应该如下所示

[[1, 1, 'IGNORE_THIS_COL', 201],
 [1, 2, 'IGNORE_THIS_COL', 100]]

我已经检查了多个答案,包括

您正在查找列子集上的groupby。这是一个使用numpy实现的挑战,但使用pandas
groupby则非常简单:

import pandas as pd

df = pd.DataFrame(array)
out = df.groupby([0, 1], as_index=False).agg({2:'first', 3:'sum'}).values.tolist()


忽略此列是整数吗?还是字符串?@user3483203在本例中是整数。这会改变解决方案吗?很明显,否则在创建数组时,numpy会将所有内容转换为字符串。聚合中的
2:“first”
的目的是什么?@DaveIdito您想忽略该列,所以我通过从每个组中获取第一个值来忽略它。
print(out)
[[1, 1, 'IGNORE_THIS_COL', 201], [1, 2, 'IGNORE_THIS_COL', 100]]