Ganti baris lan kolom saka array rong dimensi saka jinis dhaptar Python

Bisnis

Jinis dhaptar Python standar bisa makili array rong dimensi kanthi dhaptar dhaptar.

Bagean iki nerangake carane ngganti baris lan kolom saka array rong dimensi iki.

    1. Ngonversi menyang array NumPy
    2. .TTranspose karo iki.
    1. pandas.DataFrameNgonversi iki
    2. .TTranspose karo iki.
  • Transposisi kanthi fungsi zip () sing dibangun

Iku luwih gampang nggunakake NumPy utawa panda, nanging yen sampeyan ora pengin ngimpor NumPy utawa panda mung kanggo transposition, sampeyan bisa nggunakake zip () fungsi transpose.

Array loro-dimensi asli ditetepake kaya ing ngisor iki

import numpy as np
import pandas as pd

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

Diowahi kanggo NumPy larik ndarray lan transposed karo .T

Ngasilake array NumPy ndarray saka array rong dimensi asli lan entuk obyek transposed kanthi atribut .T.

Yen sampeyan pengin Python dhaftar-jinis obyek ing pungkasan, luwih Ngonversi menyang dhaftar karo tolist () cara.

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

Saliyane atribut .T, uga bisa digunakake cara ndarray transpose () lan fungsi numpy.transpose ().

Diowahi kanggo panda.DataFrame lan transposed karo .T

Generate pandas.DataFrame saka Uploaded loro-dimensi asli lan njaluk obyek transposed karo atribut .T.

Yen sampeyan pengin Python dhaftar-jinis obyek ing pungkasan, njaluk numpy.ndarray karo atribut nilai, lan banjur Ngonversi menyang dhaftar karo tolist () cara.

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

Transposisi kanthi fungsi zip () sing dibangun

Transposes Uploaded loro-dimensi nggunakake dibangun ing fungsi zip ().

zip () minangka fungsi sing ngasilake iterator sing ngringkes unsur saka macem-macem iterables (dhaptar, tuples, etc.). Iki digunakake nalika mbukak pirang-pirang dhaptar ing daur ulang, umpamane.

Kajaba iku, fungsi kasebut nggunakake mekanisme sing dhaptar bisa ditambahi lan diterusake yen argumen fungsi ditandhani karo tanda bintang.

Transposisi bisa ditindakake kaya ing ngisor iki.

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

Dadi, unsur-unsur ing njero yaiku tuple. Mulane, yen sampeyan pengin nggawe dhaptar, nggunakake dhaftar (), kang ngowahi tuple kanggo dhaftar ing dhaftar pangerten notasi.

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

Ing ngisor iki minangka risak langkah-langkah saka proses kasebut.

Unsur dhaftar ditambahi karo tanda bintang, unsur ditambahi diklompokaké bebarengan karo fungsi zip (), banjur tuple diowahi kanggo dhaftar karo dhaftar pangerten notasi.

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