Hello :)我是一名Python初學者,最近我開始使用numpy,基本上我得到了一個nd-array:data.shape = {55000, 784}
,裏面充滿了float32值。基於我所做的一個條件,我想將特定的行和它們的列附加到一個新的數組中,這對於格式保持不變是很重要的。例如我想data[5][0-784]
追加到一個空陣列..我聽說過一些叫花式索引,仍然無法弄清楚如何使用它,一個例子會幫助我擺脫大時間。我很感謝你們的幫助! - Greets將多維數組中的選定值附加到新數組中
1
A
回答
1
我建議您瀏覽Indexing的文檔。但是,這裏是一個示例。
import numpy as np
data = np.array([[0, 1, 2], [3, 4, 5]])
print(data.shape)
(2, 3)
print(data)
[[0 1 2]
[3 4 5]]
selection = data[1, 1:3]
print(selection)
[4 5]
花式索引是一種高級索引功能,它允許使用整數數組進行索引。這是一個例子。
fancy_selection = data[[0, 1], [0, 2]]
print(fancy_selection)
[0 5]
既然您還詢問有關追加,看看Append a NumPy array to a NumPy array。無論如何,這是一個例子。
data_two = np.array([[6, 7, 8]])
appended_array = np.concatenate((data, data_two))
print(appended_array)
[[0 1 2]
[3 4 5]
[6 7 8]]
+0
非常感謝您的幫助,這些例子非常有幫助,我可以解決我的問題:)問候!!! –
0
由於@hpaulj建議在他的評論追加數組是可能的,但效率低下,應該避免。讓我們看看你的例子,但讓數字變小一點。
a = np.sum(np.ogrid[1:5, 0.1:0.39:0.1])
a
# array([[ 1.1, 1.2, 1.3],
# [ 2.1, 2.2, 2.3],
# [ 3.1, 3.2, 3.3],
# [ 4.1, 4.2, 4.3]])
a.shape
# (4, 3)
選擇的一種元素:
a[1,2]
# 2.3
選擇一整行:
a[2, :] # or a[2] or a 2[, ...]
# array([ 3.1, 3.2, 3.3])
或柱:
a[:, 1] # or a[..., 1]
# array([ 1.2, 2.2, 3.2, 4.2])
花式索引,觀察到第一個索引不是一個切片,但是一個列表或ar射線:
a[[3,0,0,1], :] # or a[[3,0,0,1]]
# array([[ 4.1, 4.2, 4.3],
# [ 1.1, 1.2, 1.3],
# [ 1.1, 1.2, 1.3],
# [ 2.1, 2.2, 2.3]])
花式索引可以在多個軸上被用於選擇任意的元素並將它們組裝到例如一個新的形狀你可以做一個2x2x2的陣列,像這樣:
a[ [[[0,1], [1,2]], [[3,3], [3,2]]], [[[2,1], [1,1]], [[2,1], [0,0]]] ]
# array([[[ 1.3, 2.2],
# [ 2.2, 3.2]],
#
# [[ 4.3, 4.2],
# [ 4.1, 3.1]]])
還有邏輯索引
mask = np.isclose(a%1.1, 1.0)
mask
# array([[False, False, False],
# [ True, False, False],
# [False, True, False],
# [False, False, True]], dtype=bool)
a[mask]
# array([ 2.1, 3.2, 4.3])
要合併的陣列,收集他們的列表,並使用concatenate
np.concatenate([a[1:, :2], a[:0:-1, [2,0]]], axis=1)
# array([[ 2.1, 2.2, 4.3, 4.1],
# [ 3.1, 3.2, 3.3, 3.1],
# [ 4.1, 4.2, 2.3, 2.1]])
希望能幫助你開始。
相關問題
- 1. 將多維數組中的值放入一個新數組中
- 2. angularjs將值附加到數組中
- 3. 將PHP添加到多維數組中
- 4. 將多維數組嵌套到單個多維數組中
- 5. 如何將默認值合併到新的多維數組的子數組中?
- 6. PHP加入數組值多維數組
- 7. str_replace多維數組中的特定值
- 8. C#將選定值的組合框添加到數組中
- 9. 將附加數據附加到PHP中的數組中
- 10. 將多維數組推入數組中?
- 11. 獲取數組中多維數組中數組的值
- 12. 將多維數組的子陣列附加到PHP關聯數組
- 13. '將具有重複鍵的'關聯數組'附加到多維關聯數組
- 14. 添加到多維數組中的PHP
- 15. 將多維數組加載到C++中的數據文件中
- 16. PHP根據多維數組中的值選擇數組
- 17. 將數組推送到Javascript中的多維數組中
- 18. 追加值到多維數組PHP
- 19. php訪問多維數組中的特定數組值
- 20. 將mysql值分配到多維數組
- 21. 如何將值附加到2D數組?
- 22. 將值附加到c數組
- 23. 多維複選框組值的多維數組jQuery post數組AJAX
- 24. 按特定值分組多維數組?
- 25. php比較單維數組中的多維數組值
- 26. 添加多維數組到mysql我有多維數組
- 27. 將維添加到數組
- 28. 將rails中的多維數組映射到數組
- 29. 將Int附加到數組Matlab中
- 30. 如何將數組附加到PHP中的另一個數組?
忘記'追加到空數組'。重點應放在行和列的選擇上,最好採用一個動作。您可能需要詳細說明您的選擇條件。 – hpaulj