பைதான் பட்டியல் வகையின் இரு பரிமாண வரிசையின் வரிசைகள் மற்றும் நெடுவரிசைகளை மாற்றவும்

வணிக

நிலையான பைதான் பட்டியல் வகையானது பட்டியல்களின் பட்டியலின் மூலம் இரு பரிமாண வரிசையைக் குறிக்கும்.

இந்த இரு பரிமாண வரிசையின் வரிசைகள் மற்றும் நெடுவரிசைகளை எவ்வாறு மாற்றுவது என்பதை இந்தப் பிரிவு விளக்குகிறது.

    1. NumPy அணிவரிசைக்கு மாற்றவும்
    2. .Tஇதனுடன் இடமாற்றம் செய்யவும்.
    1. pandas.DataFrameஇதற்கு மாற்றவும்
    2. .Tஇதனுடன் இடமாற்றம் செய்யவும்.
  • உள்ளமைக்கப்பட்ட செயல்பாடு zip() உடன் இடமாற்றம்

NumPy அல்லது பாண்டாக்களைப் பயன்படுத்துவது எளிதானது, ஆனால் நீங்கள் இடமாற்றத்திற்காக NumPy அல்லது பாண்டாக்களை இறக்குமதி செய்ய விரும்பவில்லை என்றால், இடமாற்றம் செய்ய zip() செயல்பாட்டைப் பயன்படுத்தலாம்.

அசல் இரு பரிமாண அணிவரிசை பின்வருமாறு வரையறுக்கப்படுகிறது

import numpy as np
import pandas as pd

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

NumPy அணிவரிசை ndarray க்கு மாற்றப்பட்டு .T உடன் மாற்றப்பட்டது

அசல் இரு பரிமாண வரிசையில் இருந்து NumPy வரிசை ndarray ஐ உருவாக்கி, .T பண்புக்கூறுடன் இடமாற்றப்பட்ட பொருளைப் பெறவும்.

இறுதியில் பைதான் பட்டியல் வகைப் பொருளை நீங்கள் விரும்பினால், அதை மேலும் 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() செயல்பாட்டையும் பயன்படுத்தலாம்.

பாண்டாக்கள்.DataFrame ஆக மாற்றப்பட்டது மற்றும் .T உடன் மாற்றப்பட்டது

அசல் இரு பரிமாண வரிசையிலிருந்து ஒரு பாண்டாஸ்.டேட்டா ஃப்ரேமை உருவாக்கவும் மற்றும் .T பண்புக்கூறுடன் இடமாற்றப்பட்ட பொருளைப் பெறவும்.

இறுதியில் பைதான் பட்டியல் வகைப் பொருளை நீங்கள் விரும்பினால், மதிப்புகள் பண்புடன் 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() என்பது ஒரு செயலியை வழங்கும் ஒரு செயல்பாடாகும், இது பன்மடங்கு மறுசெயல்படுத்தக்கூடிய கூறுகளை (பட்டியல்கள், டூப்பிள்கள், முதலியன) சுருக்கமாகக் கூறுகிறது. எடுத்துக்காட்டாக, for loop இல் பல பட்டியல்களை இயக்கும்போது இது பயன்படுத்தப்படுகிறது.

கூடுதலாக, செயல்பாடு ஒரு பொறிமுறையைப் பயன்படுத்துகிறது, இதன் மூலம் செயல்பாட்டு வாதம் ஒரு நட்சத்திரத்துடன் குறிக்கப்பட்டால், பட்டியலை விரிவாக்கலாம் மற்றும் அனுப்பலாம்.

இடமாற்றங்கள் பின்வருமாறு செய்யப்படலாம்.

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'>

அது போல, உள்ளே உள்ள உறுப்புகள் டூப்பிள்ஸ் ஆகும். எனவே, நீங்கள் அதை ஒரு பட்டியலாக உருவாக்க விரும்பினால், லிஸ்ட்() ஐப் பயன்படுத்தவும், இது ட்யூபிளை பட்டியல் புரிதல் குறியீட்டில் பட்டியலாக மாற்றுகிறது.

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