ប្តូរជួរដេក និងជួរឈរនៃអារេពីរវិមាត្រនៃប្រភេទបញ្ជី Python

អាជីវកម្ម

ប្រភេទបញ្ជី Python ស្តង់ដារអាចតំណាងឱ្យអារេពីរវិមាត្រដោយបញ្ជីបញ្ជី។

ផ្នែកនេះពន្យល់ពីរបៀបប្តូរជួរដេក និងជួរឈរនៃអារេពីរវិមាត្រនេះ។

    1. បំប្លែងទៅជាអារេ NumPy
    2. .Tផ្ទេរជាមួយនេះ។
    1. pandas.DataFrameបម្លែងទៅជានេះ។
    2. .Tផ្ទេរជាមួយនេះ។
  • ការផ្លាស់ប្តូរជាមួយមុខងារ zip() ដែលភ្ជាប់មកជាមួយ

វាកាន់តែងាយស្រួលប្រើ NumPy ឬ pandas ប៉ុន្តែប្រសិនបើអ្នកមិនចង់នាំចូល NumPy ឬ pandas សម្រាប់ transposition អ្នកអាចប្រើមុខងារ zip() ដើម្បីបញ្ជូន។

អារេពីរវិមាត្រដើមត្រូវបានកំណត់ដូចខាងក្រោម

import numpy as np
import pandas as pd

l_2d = [[0, 1, 2], [3, 4, 5]]

បំប្លែងទៅជា NumPy អារេ ndarray ហើយប្តូរជាមួយ .T

បង្កើត ndarray អារេ NumPy ពីអារេពីរវិមាត្រដើម ហើយទទួលបានវត្ថុដែលបានចម្លងដោយគុណលក្ខណៈ .T ។

ប្រសិនបើអ្នកចង់បានវត្ថុប្រភេទបញ្ជី Python នៅចុងបញ្ចប់ បំប្លែងវាទៅជាបញ្ជីដោយវិធីសាស្ត្រ tolist() ។

arr_t = np.array(l_2d).T

print(arr_t)
print(type(arr_t))
# [[0 3]
#  [1 4]
#  [2 5]]
# <class 'numpy.ndarray'>

l_2d_t = np.array(l_2d).T.tolist()

print(l_2d_t)
print(type(l_2d_t))
# [[0, 3], [1, 4], [2, 5]]
# <class 'list'>

បន្ថែមពីលើគុណលក្ខណៈ .T វិធីសាស្ត្រ ndarray transpose() និងអនុគមន៍ numpy.transpose() ក៏អាចត្រូវបានប្រើផងដែរ។

បំប្លែងទៅជា pandas.DataFrame ហើយប្តូរជាមួយ .T

បង្កើត pandas.DataFrame ពីអារេពីរវិមាត្រដើម ហើយទទួលបានវត្ថុដែលបានចម្លងដោយប្រើគុណលក្ខណៈ .T ។

ប្រសិនបើអ្នកចង់បានវត្ថុប្រភេទបញ្ជី Python នៅទីបញ្ចប់ ទទួលបាន numpy.ndarray ជាមួយនឹងគុណលក្ខណៈតម្លៃ ហើយបន្ទាប់មកបម្លែងវាទៅជាបញ្ជីដោយប្រើវិធីសាស្ត្រ tolist() ។

df_t = pd.DataFrame(l_2d).T

print(df_t)
print(type(df_t))
#    0  1
# 0  0  3
# 1  1  4
# 2  2  5
# <class 'pandas.core.frame.DataFrame'>

l_2d_t = pd.DataFrame(l_2d).T.values.tolist()

print(l_2d_t)
print(type(l_2d_t))
# [[0, 3], [1, 4], [2, 5]]
# <class 'list'>

ការផ្លាស់ប្តូរជាមួយមុខងារ zip() ដែលភ្ជាប់មកជាមួយ

បញ្ជូន​អារេ​ពីរ​វិមាត្រ​ដោយ​ប្រើ​មុខងារ zip() ដែល​ភ្ជាប់​មក​ជាមួយ។

zip() គឺជាអនុគមន៍ដែលត្រឡប់​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ផ្ដល់​​​​​មកវិញ​​​ ,​​​​​​​​​​​​​​​,​​​,​​,​​,​​​,​​​​​,​​​​​​​​​​​​​ ពុយលី​ ។ល។ វាត្រូវបានប្រើនៅពេលដំណើរការបញ្ជីច្រើនក្នុងសម្រាប់រង្វិលជុំ។

លើសពីនេះ មុខងារប្រើយន្តការដែលបញ្ជីអាចត្រូវបានពង្រីក និងឆ្លងកាត់ ប្រសិនបើអាគុយម៉ង់មុខងារត្រូវបានសម្គាល់ដោយសញ្ញាផ្កាយ។

ការផ្លាស់ប្តូរអាចត្រូវបានធ្វើឡើងដូចខាងក្រោម។

l_2d_t_tuple = list(zip(*l_2d))

print(l_2d_t_tuple)
print(type(l_2d_t_tuple))
# [(0, 3), (1, 4), (2, 5)]
# <class 'list'>

print(l_2d_t_tuple[0])
print(type(l_2d_t_tuple[0]))
# (0, 3)
# <class 'tuple'>

ដូចដែលវាគឺ, ធាតុនៅខាងក្នុងគឺ tuples ។ ដូច្នេះហើយ ប្រសិនបើអ្នកចង់បង្កើតវាជាបញ្ជី សូមប្រើ list() ដែលបំប្លែង tuple ទៅជាបញ្ជីមួយក្នុង list comprehension notation ។

l_2d_t = [list(x) for x in zip(*l_2d)]

print(l_2d_t)
print(type(l_2d_t))
# [[0, 3], [1, 4], [2, 5]]
# <class 'list'>

print(l_2d_t[0])
print(type(l_2d_t[0]))
# [0, 3]
# <class 'list'>

ខាង​ក្រោម​នេះ​គឺ​ជា​ការ​បំបែក​ជា​ជំហាន​ៗ​នៃ​ដំណើរ​ការ។

ធាតុនៃបញ្ជីត្រូវបានពង្រីកដោយសញ្ញាផ្កាយ ធាតុដែលបានពង្រីកត្រូវបានដាក់ជាក្រុមរួមគ្នាជាមួយមុខងារ zip() ហើយបន្ទាប់មក tuple ត្រូវបានបំប្លែងទៅជាបញ្ជីដែលមានកំណត់ចំណាំក្នុងបញ្ជី។

print(*l_2d)
# [0, 1, 2] [3, 4, 5]

print(list(zip([0, 1, 2], [3, 4, 5])))
# [(0, 3), (1, 4), (2, 5)]

print([list(x) for x in [(0, 3), (1, 4), (2, 5)]])
# [[0, 3], [1, 4], [2, 5]]
Copied title and URL