Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python – numpy.reshape


บทนำ

numpy.reshape() ใช้สำหรับให้รูปร่างใหม่กับอาเรย์โดยไม่เปลี่ยนแปลงข้อมูล ไวยากรณ์คือ:

numpy.reshape(arr, newshape, order='C')

พารามิเตอร์

  • arr – อาเรย์อินพุต
  • newshape – รูปร่างใหม่ หากเป็นจำนวนเต็ม ผลลัพธ์จะเป็นอาเรย์ 1 มิติ และมิติหนึ่งสามารถเป็น -1 ได้
  • order – กำหนดลำดับการอ่าน/เขียนสมาชิก
    • 'C' – เรียงแบบ C (ดัชนีสุดท้ายเปลี่ยนเร็วที่สุด)
    • 'F' – เรียงแบบ Fortran (ดัชนีแรกเปลี่ยนเร็วที่สุด)
    • 'A' – เรียงแบบ Fortran หากอาเรย์ติดกันในหน่วยความจำ

ตัวอย่างที่ 1: เปลี่ยนรูปร่างเป็น (3, -3)

import numpy as np

# อาเรย์อินพุต
x = np.array([[3, 5, 6], [7, 8, 9]])
print("Array Input :\n", x)

# reshape() function
y = np.reshape(x, (3, -1))  # ใช้ -1 ให้คำนวณเอง
print("Reshaped Array: \n", y)

ผลลัพธ์

Array Input :
[[3 5 6]
 [7 8 9]]
Reshaped Array:
[[3 5]
 [6 7]
 [8 9]]

ตัวอย่างที่ 2: เปลี่ยนเป็นอาเรย์ 1 มิติ ด้วย order='C'

import numpy as np

# สร้างอาเรย์อินพุต
x = np.array([[1, 3, 4], [4, 6, 7]])
print("Array Input :\n", x)

# reshape() function
y = np.reshape(x, 6, order='C')
print("Reshaped Array: \n", y)

ผลลัพธ์

Array Input :
[[1 3 4]
 [4 6 7]]
Reshaped Array:
[1 3 4 4 6 7]