0

私はこのようなマトリックスを持っています

[[1,2,4,6],
[4,7,9,9],
[1,9,10,20]]

Pythonで列ごとに部分合計を取得するにはどうすればよいですか?

[[1,2,4,6],
[(4-1),(7-2),(9-4),(9-6)],
[(1-4),(9-7),(10-9),(20-9)]]
4

5 に答える 5

1

試す

np.vstack((Z[0],np.diff(Z,axis=0)))

Z微分している行列はどこにありますか。

于 2014-12-03T11:33:36.910 に答える
1

i2 行目からは、必要なのは rowと rowの違いでi-1あり、1 行目は元の配列の 1 行目です。これを取得する最も簡単な方法は、numpyを使用することです。したがって、これは機能します:

In [1]: import numpy as np

In [2]: a = np.array( [[1,2,4,6],
   ...: [4,7,9,9],
   ...: [1,9,10,20]]
   ...: )

In [3]: np.vstack( (a[0], a[1:]-a[:-1]) )
Out[3]: 
array([[ 1,  2,  4,  6],
       [ 3,  5,  5,  3],
       [-3,  2,  1, 11]])

ヘンリー・ウォットン卿 (!) が指摘するように、違いa[1:]-a[:-1]は と同じnp.diff(a, axis=0)です。

于 2014-12-03T11:26:28.433 に答える