我需要添加一列和一行到一個現有的numpy數組,在我定義的位置。原諒我的普通英語。如何添加一個額外的行和列到數組中?
回答
我假設你的列和行只是列表的列表?
也就是說,你有以下幾點?
L = [[1,2,3],
[4,5,6]]
要添加另一行,請使用列表的append方法。
L.append([7,8,9])
給
L = [[1,2,3],
[4,5,6],
[7,8,9]]
要添加其他列,你將不得不遍歷每個行。一個簡單的方法就是使用列表理解。
L = [x + [0] for x in L]
給
L = [[1,2,3,0],
[4,5,6,0]]
並將其轉換爲數組只是做數組(1st)? – 2010-01-04 21:45:02
這應該工作。用numpy可能有更好的方法,但你原來的問題沒有指定這樣的。 – 2010-01-04 21:48:58
感謝您的回答 – ricardo 2010-01-04 21:49:41
有很多方法在numpy的做到這一點,但不是所有的人,讓你的行/列在添加到目標陣列的任何位置(例如,追加只允許在最後一行/列之後添加)。如果你想有一個單一的方法/函數在目標陣列中的任何位置添加任何行或列,我會去的「插入」:
T = NP.random.randint(0, 10, 20).reshape(5, 4)
c = NP.random.randint(0, 10, 5)
r = NP.random.randint(0, 10, 4)
# add a column to T, at the front:
NP.insert(T, 0, c, axis=1)
# add a column to T, at the end:
NP.insert(T, 4, c, axis=1)
# add a row to T between the first two rows:
NP.insert(T, 2, r, axis=0)
這需要多一點的信息 – 2010-01-04 21:41:10
什麼樣的陣列?列表列表,array.array或numpy.array? – 2010-01-04 21:42:04
-1:沒有代碼.... – 2010-01-04 21:42:51