首页 > 解决方案 > Numpy:通过对 NxM 数组的列(或行)进行操作,在数组中插入新元素

问题描述

这可能是一个愚蠢的问题,但我刚刚开始使用 numpy,我必须弄清楚如何执行一些简单的操作。

假设我有 2x3 数组

 array([{"a":1, "b":2, "c":3], 
         {"a":4, "b":5, "c":6}])

我想执行一些操作并在我的数组中插入新元素(d 和 e),

d = a + b, e = b - c

array([{"a":1, "b":2, "c":3, "d":3, "e":-1],
 {"a":4, "b":5, "c":6, "d":9, "e":-1}])

如何在没有 foreach 循环的情况下使用 numpy 库执行这样的操作?

提前谢谢...

标签: pythonarraysnumpy

解决方案


我建议您应该使用 pandas.DataFrame 进行按列操作。如果您严格必须使用 numpy,这显然不能解决您的问题。但是查看您提供的代码行,pandas 库似乎是正确的选择。这是您描述的问题的示例。

import pandas as pd

df = pd.DataFrame([{"a":1, "b":2, "c":3}, {"a":4, "b":5, "c":6}])
df["d"] = df["a"] + df["b"]
df["e"] = df["b"] - df["c"]
print(df)

输出:

   a  b  c  d  e
0  1  2  3  3 -1
1  4  5  6  9 -1

推荐阅读