สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

Tutorial Python Numpy

LM01PYTHON NUMPY INTRODUCTION LM02PYTHON NUMPY GETTING STARTED LM03PYTHON NUMPY ARRAYS INDEXING LM04PYTHON NUMPY ARRAYS SLICING LM05PYTHON NUMPY DATATYPE LM06PYTHON NUMPY ARRAYd COPY VS VIEW LM07PYTHON NUMPY ARRAY SHAPE LM08PYTHON NUMPY ARRAY RESHAPING LM09PYTHON NUMPY ARRAY ITERATING LM10PYTHON NUMPY JOINING ARRAY LM12PYTHON NUMPY SEARCHING ARRAYS LM13PYTHON NUMPY SORTING ARRAYS LM14PYTHON NUMPY FILTER ARRAY LM16PYTHON 10NUMPY TRIGONOMETRIC FUNCTIONS LM16PYTHON 11NUMPY HYPERBOLIC FUNCTIONS LM16PYTHON 12NUMPY SET OPERATIONS LM16PYTHON 1CREATE YOUR OWN UFUNC LM16PYTHON 2SIMPLE ARITHMETIC LM16PYTHON 3ROUNDING DECIMALS LM16PYTHON 4NUMPY LOGS LM16PYTHON 5NUMPY SUMMATIONS LM16PYTHON 6NUMPY PRODUCTS LM16PYTHON 7NUMPY DIFFERENCES LM16PYTHON 8NUMPY LCM LM16PYTHON 9NUMPY GCD

NumPy Array Iterating

เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming Tutor ในบท Numpy Array Iterating
การทำซ้ำอาร์เรย์

 การทำซ้ำหมายถึงการผ่านองค์ประกอบหนึ่งต่อหนึ่ง เมื่อเราจัดการกับอาเรย์หลายมิติในแบบ numpy เราสามารถทำได้โดยใช้พื้นฐานสำหรับลูป(loop)ของไพธอน
ถ้าเราวนซ้ำใน 1-D array มันจะผ่านแต่ละองค์ประกอบทีละตัว
ทำซ้ำอาร์เรย์ 2-D
ในอาเรย์แบบสองมิติมันจะผ่านทุกแถว
ตัวอย่าง
ถ้าเราวนซ้ำในอาร์เรย์ n-D มันจะผ่านมิติที่ n-1 ทีละหนึ่ง

import numpy as np
arr = np.array([1, 2, 3])
for x in arr:
print(x)

ผลลัพธ์
ในการส่งคืนค่าที่แท้จริงสเกลาร์เราจะต้องวนซ้ำอาร์เรย์ในแต่ละมิติ

1
2
3

ทำซ้ำอาร์เรย์ 3-D
ในอาเรย์แบบสามมิติมันจะผ่านอาร์เรย์ 2 มิติทั้งหมด
ตัวอย่าง

import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
for x in arr:
  print("x represents the 2-D array:")
  print(x)

ผลลัพธ์

x represents the 2-D array:
[[1 2 3]
 [4 5 6]]
x represents the 2-D array:
[[ 7  8  9]
 [10 11 12]]

การทำซ้ำอาร์เรย์โดยใช้ nditer ()
   function nditer () เป็นฟังก์ชั่นช่วยเหลือที่สามารถใช้งานได้ตั้งแต่ขั้นพื้นฐานไปจนถึงขั้นสูงมาก มันสามารถแก้ปัญหาพื้นฐานบางอย่างที่เราเผชิญในการทำซ้ำปล่อยให้มันผ่านไปด้วยตัวอย่าง
ตัวอย่าง

import numpy as np
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
for x in np.nditer(arr):
  print(x)

ผลลัพธ์

1
2
3
4
5
6
7
8

การวนซ้ำในแต่ละองค์ประกอบสเกลาร์
โดยพื้นฐานแล้วสำหรับลูปการวนซ้ำของสเกลาร์แต่ละอันที่เราจำเป็นต้องใช้ n สำหรับลูปซึ่งยากที่จะเขียนสำหรับอาร์เรย์ที่มีมิติสูงมาก การทำซ้ำอาร์เรย์ด้วยชนิดข้อมูลที่แตกต่างกัน เราสามารถใช้อาร์กิวเมนต์ op_dtypes และส่งผ่านประเภทข้อมูลที่ต้องการเพื่อเปลี่ยนประเภทข้อมูลขององค์ประกอบในขณะที่วนซ้ำ
  NumPy ไม่เปลี่ยนประเภทข้อมูลขององค์ประกอบในนั้นได้ (ที่องค์ประกอบอยู่ในอาร์เรย์) ดังนั้นจึงต้องมีพื้นที่อื่นเพื่อดำเนินการนี้ พื้นที่พิเศษที่เรียกว่าบัฟเฟอร์และเพื่อให้สามารถใช้งานได้ใน nditer () เรา pass flags = ['buffered']
ตัวอย่าง
การวนซ้ำผ่านสตริง

import numpy as np
arr = np.array([1, 2, 3])
for x in np.nditer(arr, flags=['buffered'], op_dtypes=['S']):
  print(x)

ผลลัพธ์

b'1'
b'2'
b'3'

Iteration ที่ระบุโดยใช้ ndenumerate ()
 การแจกเเจง หมายถึงการพูดถึงหมายเลขลำดับของสิ่งใดสิ่งหนึ่งต่อหนึ่งครั้ง  บางครั้งเราต้องการดัชนีที่สอดคล้องกันกับองค์ประกอบ ในขณะที่วนซ้ำเมธอด ndenumerate () สามารถใช้กับ usecases เหล่านั้นได้
ตัวอย่าง

import numpy as np
arr = np.array([1, 2, 3]) 
for idx, x in np.ndenumerate(arr):
  print(idx, x)

ผลลัพธ์

(0,) 1
(1,) 2
(2,) 3

ก็จบกันไปอีกหนึ่งบทเเล้วนะครับ ในบทนี้จะค่อนข้างเข้าใจยากนิดนึง เเต่ก็สามารถผ่านต่อไปได้ครับ สู้ๆครับ
แปลจากhttps://www.w3schools.com/python/numpy_array_iterating.asp



บทความนี้อาจจะมีที่ผิด กรุณาตรวจสอบก่อนใช้

หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

C Article


C++ Article


Java Article


C#.NET Article


VB.NET Article


Python Article


Golang Article


JavaScript Article


Perl Article


Lua Article


Rust Article


Article


Python


Python Numpy


Python Machine Learning



แผนผังการเรียนเขียนโปรแกรม

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา