Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में मैट्रिक्स ट्रांसपोज़

मैट्रिक्स ट्रांसपोज़ का अर्थ है पंक्तियों को कॉलम और कॉलम को पंक्तियों में बदलना।

उदाहरण

# मूल मैट्रिक्स (3x2)
x = [[1, 2],
     [3, 4],
     [5, 6]]

# ट्रांसपोज़ (2x3)
x1 = [[1, 3, 5],
      [2, 4, 6]]

विधि 1: नेस्टेड लूप (क्लासिक)

x = [[1, 2], [3, 4], [5, 6]]
rows = len(x)
cols = len(x[0])

result = [[0] * rows for _ in range(cols)]

for i in range(rows):
    for j in range(cols):
        result[j][i] = x[i][j]

for r in result:
    print(r)
# [1, 3, 5]
# [2, 4, 6]

विधि 2: नेस्टेड लिस्ट कॉम्प्रिहेंशन (पायथनिक)

x = [[1, 2], [3, 4], [5, 6]]
result = [[x[j][i] for j in range(len(x))] for i in range(len(x[0]))]

for r in result:
    print(r)

विधि 3: zip() फ़ंक्शन (सबसे संक्षिप्त)

x = [[1, 2], [3, 4], [5, 6]]
result = list(map(list, zip(*x)))
# या पायथन 3 में:
result = [list(row) for row in zip(*x)]

for r in result:
    print(r)

*x लिस्ट को अनपैक करता है, zip कॉलम-वाइज ग्रुप करता है।

विधि 4: NumPy (बड़े मैट्रिक्स के लिए अनुशंसित)

import numpy as np

x = [[1, 2], [3, 4], [5, 6]]
arr = np.array(x)
transposed = arr.T  # या np.transpose(arr)
print(transposed)
# [[1 3 5]
#  [2 4 6]]

तुलना

विधिपक्षविपक्ष
नेस्टेड लूपसमझने में आसान, कोई डिपेंडेंसी नहींधीमा, वर्बोज़
लिस्ट कॉम्प्रिहेंशनसंक्षिप्त, पायथनिकबड़े मैट्रिक्स के लिए धीमा
zip()बहुत संक्षिप्त, पठनीयरेक्टेंगुलर मैट्रिक्स मानता है
NumPyबहुत तेज़, बहुआयामी सपोर्टबाहरी डिपेंडेंसी

नोट

  • सभी विधियां मानती हैं कि मैट्रिक्स रेक्टेंगुलर है (सभी पंक्तियों की लंबाई समान)।
  • अनियमित मैट्रिक्स के लिए zip_longest (itertools) या कस्टम लॉजिक उपयोग करें।
  • वैज्ञानिक कंप्यूटिंग/डेटा साइंस में NumPy मानक है।
  1. पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक मैट्रिक्स दिए जाने पर, हमें ट्रांसपोज़ को उसी मैट्रिक्स में स्टोर करना होगा और इसे प्रदर्शित करना होगा। मैट्रिक्स का ट्रांसपोज़ पंक्तियों को कॉलम में और कॉलम को पंक्तियों में बदलकर

  1. - Python में एक लाइन में मैट्रिक्स को ट्रांसपोज़ कैसे करें?

    NumPy के साथ एक लाइन में मैट्रिक्स ट्रांसपोज़ करें NumPy पैकेज में ndarray ऑब्जेक्ट को ट्रांसपोज़्ड ऐरे में बदलने के लिए एक बहुत ही उपयोगी फ़ंक्शन transpose() है। >>> import numpy as np >>> a = np.array([[1, 2], [3, 4]]) >>> a array([[1, 2], [3, 4]]) >>> a

  1. - Python का उपयोग करके मैट्रिक्स को ट्रांसपोज़ कैसे करें?

    Python में नेस्टेड लूप्स का उपयोग करके मैट्रिक्स ट्रांसपोज़ करना जब किसी मैट्रिक्स की पंक्तियों और कॉलम को आपस में बदल दिया जाता है, तो मैट्रिक्स को ट्रांसपोज़्ड कहा जाता है। Python में, एक मैट्रिक्स समान संख्या में आइटम्स की सूचियों की सूची के अलावा कुछ नहीं है। 3 पंक्तियों और 2 कॉलम का एक मैट्रिक