ການປ່ຽນຮູບຮ່າງລະບົບບັນຊີ NumPy

ການປ່ຽນຕົວຈຸລັງ

ການປ່ຽນຕົວຂອງຈຸລັງແມ່ນການປ່ຽນຮູບຊັ້ນຂອງຈຸລັງ:

ຮູບຊັ້ນຂອງຈຸລັງແມ່ນຈຳນວນສ່ວນຂອງບ່ອນດັ່ງກ່າວໃນແຕ່ລະພາກສາຍ:

ການປ່ຽນຕົວຂອງຈຸລັງສາມາດເພີ່ມຫຼືຫຼຸດພາກສາຍຫຼືປ່ຽນຈຸລັງໃນແຕ່ລະພາກສາຍ:

ປ່ຽນຈາກ 1-D ເປັນ 2-D

ຄວາມກຳລັງ

ປ່ຽນຈາກ 1-D 数组ທີ່ມີ 12 ສ່ວນເປັນ 2-D 数组.

ພາວະພາກສາຍອອກຫຼັງຈະມີ 4 ສ່ວນສາມາດວ່າ 3 ສ່ວນ:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
newarr = arr.reshape(4, 3)
print(newarr)

ການດຳເນີນການຕົວຢ່າງ

ປ່ຽນຈາກ 1-D ເປັນ 3-D

ຄວາມກຳລັງ

ປ່ຽນຈາກ 1-D 数组ທີ່ມີ 12 ສ່ວນເປັນ 3-D 数组.

ພາວະພາກສາຍອອກຫຼັງຈະມີ 2 ສ່ວນສາມາດວ່າ 3 ສ່ວນສາມາດວ່າ 2 ສ່ວນ:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
newarr = arr.reshape(2, 3, 2)
print(newarr)

ການດຳເນີນການຕົວຢ່າງ

ພວກເຮົາສາມາດປ່ຽນຈາກຕົວອີກຫຼືບໍ່?

ແມ່ນແນ່ນອນໃນຂະນະທີ່ສ່ວນສາມາດທັງສອງຮູບຊັ້ນທີ່ມີສິດທິພາບ:

ພວກເຮົາສາມາດປ່ຽນຈາກ 8 ສ່ວນ 1-D 数组ເປັນ 4 ສ່ວນໃນ 2-D 数组ຂອງ 2 ບ່ອນໃຫຍ່ເທິງບ່ອນດັ່ງກ່າວແຕ່ພວກເຮົາບໍ່ສາມາດປ່ຽນຈາກ 3 ສ່ວນ 3-D 数组ຂອງ 3 ບ່ອນໃຫຍ່ຄືກັບນັ້ນຈະຕ້ອງການ 3x3 = 9 ສ່ວນ:

ຄວາມກຳລັງ

ຄວາມພະຍາຍາມທີ່ຈະປ່ຽນຈາກວົງຄືນຂອງຈຸລັງທີ່ມີ 8 ສ່ວນສາມາດເປັນ 2-D 数组ໃນແຕ່ລະພາວະການການສ້າງຕົວອີກທີ່ຈະມີຄວາມຜິດພາດ:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
newarr = arr.reshape(3, 3)
print(newarr)

ການດຳເນີນການຕົວຢ່າງ

ກັບຄືນຫຼືການເບິ່ງທີ່ແນ່ນອນ?

ຄວາມກຳລັງ

ການກວດຄົ້ນວ່າຕົວແທນທີ່ກັບຄືນມາຫຼືການເບິ່ງທີ່ແນ່ນອນ:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
print(arr.reshape(2, 4).base)

ການດຳເນີນການຕົວຢ່າງ

ຕົວຢ່າງດາຍກ່ຽວກັບວັດສະດຸມັນແມ່ນການບໍ່ສາມາດແບບ.

ສະຕິກອນທີ່ບໍ່ຮັບຮູບພາບ

ພວກເຮົາສາມາດໃຊ້ສະຕິກອນທີ່ບໍ່ຮັບຮູບພາບ.

ນີ້ຫມີຄວາມໝາຍວ່າພວກເຮົາບໍ່ຕ້ອງບັນທືກຈຸດສະຕິກອນສະເພາະໜຶ່ງສະຕິກອນໃນວິທີ reshape.

ສົ່ງ -1 ຄືນ NumPy ຈະເລືອກຕັ້ງເປັນຈຸດນັ້ນສຳລັບເຈົ້າ.

ຄວາມກຳລັງ

ການປ່ຽນ 8 ອັນສະນະ 1D ມາເປັນ 3D 2x2 ອັນສະນະ:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
newarr = arr.reshape(2, 2, -1)
print(newarr)

ການດຳເນີນການຕົວຢ່າງ

ຄວາມເຫັນ:ພວກເຮົາບໍ່ສາມາດປ່ຽນ -1 ສົ່ງໃຫ້ຫຼາຍຊັ້ນຫຼາຍຫຼາຍຊັ້ນ

ການປ່ຽນຈຸດທີ່ວັດສະດຸ

ການປ່ຽນຈຸດທີ່ວັດສະດຸຫຼາຍຊັ້ນເປັນວັດສະດຸ 1D ແມ່ນການປ່ຽນວັດສະດຸຫຼາຍຊັ້ນເປັນວັດສະດຸ 1D。

ພວກເຮົາສາມາດໃຊ້ reshape(-1) ເພື່ອເຮັດຕາມນັ້ນ

ຄວາມກຳລັງ

ການແປງວັດສະດຸເປັນວັດສະດຸ 1D:

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
newarr = arr.reshape(-1)
print(newarr)

ການດຳເນີນການຕົວຢ່າງ

ຄວາມເຫັນ:ມີຫຼາຍພາສາສາມາດປ່ຽນຄວາມຮູບແບບຂອງວັດສະດຸ numpy flatten, ravel ຂອງຈຸດທີ່ມີຄວາມຮູບແບບຫຼາຍຊັ້ນທີ່ສາມາດປ່ຽນລະບົບຂອງວັດສະດຸ rot90, flip, fliplr, flipud ທີ່ຈະປ່ຽນຕົວກັນຄືນທີ່ມີຄວາມຮູບແບບຫຼາຍຊັ້ນອີກຫຼາຍຊັ້ນຫຼາຍຫຼາຍຊັ້ນ。ບັນດາພາສານນີ້ກ່ຽວກັບພາສາ numpy ສະຕິກອນຫຼາຍສາກສະຕິກອນຫຼາຍສາກສະຕິກອນຫຼາຍສາກສະຕິກອນ。