Numpy's tutorial से, अक्ष को पूर्णांक के साथ अनुक्रमित किया जा सकता है, जैसे 0
कॉलम के लिए है, 1
पंक्ति के लिए है, लेकिन मुझे समझ में नहीं आता कि उन्हें इस तरह से अनुक्रमित क्यों किया जाता है? और बहुआयामी सरणी के साथ मुकाबला करते समय मैं प्रत्येक धुरी के सूचकांक को कैसे समझूं?अक्ष की सरणी में अक्ष को अनुक्रमित कैसे किया जाता है?
उत्तर
परिभाषा के अनुसार, आयाम की अक्ष संख्या सरणी के shape
के भीतर उस आयाम की अनुक्रमणिका है। यह इंडेक्सिंग के दौरान उस आयाम तक पहुंचने के लिए भी उपयोग की जाने वाली स्थिति है।
उदाहरण के लिए, यदि 2 डी सर a
आकार (5,6) है, तो आप a[0,0]
तक a[4,5]
तक पहुंच सकते हैं। एक्सिस 0 इस प्रकार पहला आयाम ("पंक्तियां") है, और धुरी 1 दूसरा आयाम ("कॉलम") है। उच्च आयामों में, जहां "पंक्ति" और "कॉलम" वास्तव में समझ में आते हैं, आकार और सूचकांक के संदर्भ में अक्षों के बारे में सोचने का प्रयास करें।
यदि आप .sum(axis=n)
करते हैं, उदाहरण के लिए, तो आयाम n
को ध्वस्त और हटा दिया गया है, नए मैट्रिक्स में सभी मान संबंधित ध्वस्त मूल्यों के बराबर के बराबर हैं। उदाहरण के लिए, यदि b
आकार (5,6,7,8)
है, और आप c = b.sum(axis=2)
करते हैं, तो अक्ष 2 (आकार 7 के साथ आयाम) ध्वस्त हो गया है, और परिणाम (5,6,8)
आकार है। इसके अलावा, c[x,y,z]
सभी तत्वों के योग के बराबर है c[x,y,:,z]
।
सामान्य में, अक्ष = 0, इतने पर
उदाहरण के लिए 2 आयाम और 3 आयाम और के प्रत्येक मान के साथ अलग-अलग, 2-आयामी सरणी दो इसी कुल्हाड़ियों है पहले आयाम के साथ सभी कक्षों का अर्थ है: पहला लंबवत चल रही नीचे की ओर भर पंक्तियों (अक्ष 0), और क्षैतिज स्तंभ (अक्ष 1)
3 डी के लिए भर में दूसरा चल रहा है, यह जटिल है, इसलिए, छोरों
>>> x = np.array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
>>> x.shape #(3, 3, 3)
#axis = 0
>>> for j in range(0, x.shape[1]):
for k in range(0, x.shape[2]):
print("element = ", (j,k), " ", [ x[i,j,k] for i in range(0, x.shape[0]) ])
...
element = (0, 0) [0, 9, 18] #sum is 27
element = (0, 1) [1, 10, 19] #sum is 30
element = (0, 2) [2, 11, 20]
element = (1, 0) [3, 12, 21]
element = (1, 1) [4, 13, 22]
element = (1, 2) [5, 14, 23]
element = (2, 0) [6, 15, 24]
element = (2, 1) [7, 16, 25]
element = (2, 2) [8, 17, 26]
>>> x.sum(axis=0)
array([[27, 30, 33],
[36, 39, 42],
[45, 48, 51]])
#axis = 1
for i in range(0, x.shape[0]):
for k in range(0, x.shape[2]):
print("element = ", (i,k), " ", [ x[i,j,k] for j in range(0, x.shape[1]) ])
element = (0, 0) [0, 3, 6] #sum is 9
element = (0, 1) [1, 4, 7]
element = (0, 2) [2, 5, 8]
element = (1, 0) [9, 12, 15]
element = (1, 1) [10, 13, 16]
element = (1, 2) [11, 14, 17]
element = (2, 0) [18, 21, 24]
element = (2, 1) [19, 22, 25]
element = (2, 2) [20, 23, 26]
# for sum, axis is the first keyword, so we may omit it,
>>> x.sum(0), x.sum(1), x.sum(2)
(array([[27, 30, 33],
[36, 39, 42],
[45, 48, 51]]),
array([[ 9, 12, 15],
[36, 39, 42],
[63, 66, 69]]),
array([[ 3, 12, 21],
[30, 39, 48],
[57, 66, 75]]))
के लिए उपयोग कई हो जाने पर आपको इस तरह से अक्ष समझ सकते हैं :
>>> a = np.array([[[1,2,3],[2,2,3]],[[2,4,5],[1,3,6]],[[1,2,4],[2,3,4]],[[1,2,4],[1,2,6]]])
array([[[1, 2, 3],
[2, 2, 3]],
[[2, 4, 5],
[1, 3, 6]],
[[1, 2, 4],
[2, 3, 4]],
[[1, 2, 4],
[1, 2, 6]]])
>>> a.shape
(4,2,3)
मैंने विभिन्न मान (4,2,3)
के साथ एक आकार की एक सरणी बनाई ताकि आप संरचना को स्पष्ट रूप से बता सकें। अलग अक्ष का अर्थ अलग 'परत' है।
वह है, axis = 0
आकार (4,2,3)
आकार का पहला आयाम सूचकांक। यह पहले []
में सरणी को संदर्भित करता है। इसमें 4 तत्व हैं, तो इसके आकार 4:
array[[1, 2, 3],
[2, 2, 3]],
array[[2, 4, 5],
[1, 3, 6]],
array[[1, 2, 4],
[2, 3, 4]],
array[[1, 2, 4],
[1, 2, 6]]
axis = 1
सूचकांक आकार (4,3,2)
में दूसरे आयाम। परत के प्रत्येक सरणी में 2 तत्व हैं: axis = 0
, e.c।
array[[1, 2, 3],
[2, 2, 3]]
की सरणी में। दो तत्व हैं:
array[1, 2, 3]
array[2, 2, 3]
और तीसरा आकार मूल्य का मतलब है परत से प्रत्येक सरणी तत्व में 3 तत्वों देखते हैं: axis = 2
। ई.सी. array[1, 2, 3]
में 3 तत्व हैं। यह स्पष्ट है।
और साथ ही, आप शुरुआत में या अंत में []
की संख्या से अक्ष/आयाम बता सकते हैं।इस मामले में, संख्या 3 ([[[
) है, इसलिए आप axis
axis = 0
, axis = 1
और axis = 2
से चुन सकते हैं।
- 1. एक सरणी अक्ष
- 2. अक्ष
- 3. दो आयामी सरणी (वाई अक्ष)
- 4. वाई अक्ष
- 5. अक्ष अक्ष लेबल ले जाएं ggplot
- 6. एक्स-अक्ष
- 7. mschart अक्ष
- 8. गुरुत्वाकर्षण को वाई अक्ष
- 9. आर साजिश, एक्स अक्ष और y- अक्ष को छू
- 10. मौजूदा अक्ष
- 11. एक्स-अक्ष
- 12. एक्स अक्ष और वाई अक्ष लेबल आर
- 13. एक्स-अक्ष
- 14. matplotlib अक्ष
- 15. एक्स अक्ष
- 16. एक्स अक्ष
- 17. वाई अक्ष
- 18. अक्ष टिक्स की संख्या बढ़ाएं
- 19. ग्नुपलॉट, अक्ष
- 20. एक्स-अक्ष
- 21. अक्ष पर 2 की शक्तियों को gnuplot
- 22. एक्स अक्ष
- 23. आर में अक्ष सीमाओं को कैसे पूछें?
- 24. अक्ष गठबंधन आयतों चौराहे
- 25. एक्स-अक्ष
- 26. एक्स-अक्ष
- 27. ग्राफ़ अक्ष
- 28. एक्स-अक्ष
- 29. वाई अक्ष
- 30. अक्ष स्केल
'0' पंक्तियों को संदर्भित करना चाहिए और' 1' को स्तंभों का संदर्भ लेना चाहिए। मुझे संदेह है कि आप उदासीन सोच रहे हैं '.sum (अक्ष = 0) 'जो * पंक्तियों के साथ * पंक्तियों का उत्पादन करता है (कॉलम योग का उत्पादन)। – nneonneo
@nneonneo, हाँ, मेरा मतलब है, तो मैं प्रत्येक अक्ष की अनुक्रमणिका कैसे जानूं? – Alcott