কম্পিউটার টিউটোরিয়াল

পাইথনে ম্যাট্রিক্স ট্রান্সপোজ (Transpose) করা


ম্যাট্রিক্স ট্রান্সপোজ করা মানে এর কলামগুলোকে রোয়ে রূপান্তর করা। একটি উদাহরণ দিয়ে বুঝি ট্রান্সপোজের পর কীভাবে দেখাবে।

ধরুন আপনার মূল ম্যাট্রিক্স এমন কিছু:

x = [[1,2], [3,4], [5,6]]

উপরের ম্যাট্রিক্স "x"-এ দুটি কলাম রয়েছে, যেগুলো ধারণ করছে 1, 3, 5 এবং 2, 4, 6।

সুতরাং যখন আমরা উপরের ম্যাট্রিক্স "x"-কে ট্রান্সপোজ করব, কলামগুলো রোয়ে রূপান্তরিত হয়বে। সুতরাং উপরের ম্যাট্রিক্সের ট্রান্সপোজড ভার্সন এমন কিছু দেখাবে:

x1 = [[1, 3, 5], [2, 4, 6]]

তাহলে আমাদের আরেকটি ম্যাট্রিক্স 'x1' পেলাম, যা আলাদাভাবে অর্গানাইজড এবং ভিন্ন ভ্যালু ভিন্ন জায়গায়।

পাইথনে এটি সম্পন্ন করার кільটি উপায় নিচে দেওয়া হলো:

পদ্ধতি ১ - নেস্টেড লুপ ব্যবহার করে ম্যাট্রিক্স ট্রান্সপোজ -

# Original Matrix
x = [[1,2], [3,4], [5,6]]
result = [[0, 0, 0], [0, 0, 0]]
# Iterate through rows
for i in range(len(x)):
    # Iterate through columns
    for j in range(len(x[0])):
        result[j][i] = x[i][j]
for r in result:
    print(r)

ফলাফল

[1, 3, 5]
[2, 4, 6]

পদ্ধতি ২ - নেস্টেড লিস্ট কম্প্রিহেনশন ব্যবহার করে ম্যাট্রিক্স ট্রান্সপোজ।

# Original Matrix
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)

ফলাফল

[1, 3, 5]
[2, 4, 6]

লিস্ট কম্প্রিহেনশন আমাদেরকে সংক্ষিপ্ত কোড লিখতে দেয় এবং পাইথনে এটিকে ঘন ঘন ব্যবহার করা উচিত।

পদ্ধতি ৩ - Zip ব্যবহার করে ম্যাট্রিক্স ট্রান্সপোজ

# Original Matrix
x = [[1,2], [3,4], [5,6]]
result = map(list, zip(*x))
for r in result:
    print(r)

ফলাফল

[1, 3, 5]
[2, 4, 6]

পদ্ধতি ৪ - numpy লাইব্রেরি ব্যবহার করে ম্যাট্রিক্স ট্রান্সপোজ। Numpy লাইব্রেরি একটি অ্যারে-প্রসেসিং প্যাকেজ যা বড় মাল্টি-ডাইমেনশনাল অ্যারে দক্ষতার সাথে ম্যানিপুলেট করার জন্য তৈরি।

import numpy
# Original Matrix
x = [[1,2], [3,4], [5,6]]
print(numpy.transpose(x))

ফলাফল

[[1 3 5]
 [2 4 6]]

  1. পাইথনে ম্যাট্রিক্সের ট্রান্সপোজ বের করা

  2. পাইথনে ম্যাট্রিক্স ইনিশিয়ালাইজেশন (Initialize Matrix)

  3. Python-এ এক লাইনে ম্যাট্রিক্স ট্রান্সপোজ করা

  4. Python-এ ম্যাট্রিক্স ট্রান্সপোজ করার পদ্ধতি