কম্পিউটার

একটি ম্যাট্রিক্স কি এবং রুবিতে এটি কীভাবে ব্যবহার করবেন?

একটি ম্যাট্রিক্স হল একটি 2D (2-মাত্রিক) অ্যারে যা স্প্রেডশীটের মতো ডেটা সংরক্ষণ এবং কাজ করতে ব্যবহার করা যেতে পারে৷

এগুলি এর জন্য ব্যবহার করা যেতে পারে৷ :

  • টেবিল খেলায় বোর্ডের প্রতিনিধিত্ব করা (দাবা, চেকার ইত্যাদি)
  • পরিসংখ্যান এবং ডেটা বিশ্লেষণ
  • প্লট এবং গ্রাফ তৈরি করা হচ্ছে

কারণ এটি একটি শক্তিশালী ডেটা স্ট্রাকচার এটি কীভাবে ব্যবহার করতে হয় তা শিখতে সহায়ক৷

রুবিতে কিভাবে একটি ম্যাট্রিক্স তৈরি করবেন

আপনি অ্যারে সহ একটি ম্যাট্রিক্স তৈরি করতে পারেন।

এরকম :

matrix = [
  [1,2,3],
  [4,5,6],
  [7,8,9]
]

এটি একটি 3×3 ম্যাট্রিক্স তৈরি করে এবং আপনি যদি বোর্ড বা অবস্থানের সেট হিসাবে 2-মাত্রিক ডেটা সংরক্ষণ করতে চান তবে এটি আপনার সেরা পছন্দ৷

কিন্তু আপনি যদি যোগ, বিয়োগ ও গুণের মাধ্যমে ম্যাট্রিক্সকে একত্রিত করতে চান…

তারপর আপনি Matrix ব্যবহার করতে পারেন ক্লাস।

এটি কীভাবে ব্যবহার করবেন তা এখানে রয়েছে :

require 'matrix'

a = Matrix[[1,2,3], [4,5,6], [7,8,9]]
b = Matrix[[1,2,3], [4,5,6], [7,8,9]]

এখন আপনি তাদের যোগ করতে পারেন :

a + b
# Matrix[[2, 4, 6], [8, 10, 12], [14, 16, 18]]

আপনি এই মত পৃথক মান অ্যাক্সেস করতে পারেন:

a[0, 1]

এটি অ্যারে সংস্করণ থেকে আলাদা , যা এই সিনট্যাক্স ব্যবহার করবে:

matrix[0][1]

অ্যারে এবং ম্যাট্রিক্স উভয়ই স্থানান্তরিত হতে পারে, যার অর্থ সারিগুলি কলামে পরিণত হয় এবং কলামগুলি সারিতে পরিণত হয়৷

উদাহরণ :

matrix.transpose

# [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

এছাড়াও মনে রাখবেন৷ :

ম্যাট্রিক্স বস্তু অপরিবর্তনীয়, তাই আপনি একটি নতুন ম্যাট্রিক্স তৈরি না করে মান পরিবর্তন করতে পারবেন না। এই Matrix বেশিরভাগই গাণিতিক ক্রিয়াকলাপের জন্য, আপনি যদি ডেটা বিশ্লেষণ এবং পরিসংখ্যান চান তবে আপনার আরও শক্তিশালী কিছু দরকার৷

এরকম কিছু…

দারু রত্ন

দারু হল একটি রত্ন যা আপনাকে ম্যাট্রিক্সের সাথে কাজ করতে, তাদের থেকে পরিসংখ্যান পেতে এবং একটি সুন্দর ফর্ম্যাট করা টেবিল হিসাবে মুদ্রণ করতে দেয়। দারু রুবি প্লটিং রত্নগুলির সাথেও সংহত করে যাতে আপনি আপনার ডেটা থেকে প্লট এবং গ্রাফ তৈরি করতে পারেন৷

এখানে একটি উদাহরণ আছে :

require 'daru'

df = Daru::DataFrame.new(
    {
      "A" => [1,2,3],
      "B" => [4,5,6],
      "C" => [7,8,9]
    },
     index: ["A", "B", "C"]
   )

এটি নিম্নলিখিত টেবিলটি প্রিন্ট করে :

    A   B   C
A   1   4   7
B   2   5   8
C   3   6   9

আপনি এই মত একটি নির্দিষ্ট কলাম অ্যাক্সেস করতে পারেন:

df['A']

অথবা সংখ্যাসূচক সূচক দ্বারা:

df[0]

এবং আপনি এই ধরনের পরিসংখ্যান পেতে পারেন :

df['B'].describe

#         statistics
# count            3
# mean           5.0
# std            1.0
# min              4
# max              6

সেরা অংশ?

আপনি সরাসরি CSV ফাইল, ActiveRecord এবং এমনকি Excel ফাইল থেকে ডেটা লোড করতে পারেন।

উদাহরণ :

df = Daru::DataFrame.from_csv('healthy_food.csv')

এবং আপনি where দিয়ে ডেটা ফিল্টার করতে পারেন অভিব্যক্তি।

যেমন…

যদি আমাদের একটি "কার্বস" কলাম থাকে, তাহলে আমরা আমাদের ম্যাট্রিক্সের সমস্ত সারি খুঁজে পেতে পারি যার মান 25-এর কম।

এরকম :

df.where(df['carbs'].lt(25))

এছাড়াও আপনি sort করতে পারেন , group_by &aggregate আপনার ডেটা ফ্রেম।

উদাহরণ :

df = Daru::DataFrame.new(
    {  str: %w(a b c d a),
       num: [52,12,7,17,1] }
    )

df.group_by(:str).aggregate(num: :sum)

#    num
# a   53
# b   12
# c    7
# d   17

দারুর সাথে চক্রান্ত করা

দারু আপনাকে আপনার ডেটার ভিজ্যুয়াল উপস্থাপনা তৈরি করতে এবং HTML ফাইল হিসাবে রপ্তানি করতে দেয়।

এখানে একটি উদাহরণ আছে :

df = Daru::DataFrame.new(
  {'Cat Names' => %w(Kitty Leo Felix),
    'Weight'   => [2,3,5]}
  )

df.plot(type: :bar, x: 'Cat Names', y: 'Weight') do |plot, _|
  plot.x_label 'Cat Name'
  plot.y_label 'Weight'

  plot.yrange [0, 5]
end
.export_html

এটি এই চার্ট তৈরি করে:

একটি ম্যাট্রিক্স কি এবং রুবিতে এটি কীভাবে ব্যবহার করবেন?

আপনি এই চার্টটিকে আপনার কোডের মতো একই ফোল্ডারে একটি HTML ফাইল হিসেবে পাবেন।

আপনি যদি আপনার রেল অ্যাপ্লিকেশনে দারু ব্যবহার করতে চান তবে আপনাকে daru-view যোগ করতে হবে মিশ্রিত রত্ন বা চার্টকিকের মত একটি ভিন্ন রত্ন ব্যবহার করুন।

সারাংশ

আপনি রুবিতে ম্যাট্রিক্স সম্পর্কে শিখেছেন যাতে আপনি 2-মাত্রিক ডেটা নিয়ে কাজ করতে পারেন!

এই নিবন্ধটি শেয়ার করতে ভুলবেন না যাতে আরও লোকেরা এটি খুঁজে পেতে পারে৷

পড়ার জন্য ধন্যবাদ।


  1. রুবিতে স্ট্রাকট এবং ওপেনস্ট্রাক্ট কীভাবে ব্যবহার করবেন

  2. ডিস্ক ম্যানেজমেন্ট কী এবং এটি কীভাবে ব্যবহার করবেন?

  3. গাইডেড অ্যাক্সেস কী এবং এটি কীভাবে ব্যবহার করবেন?

  4. আরএসএস ফিড কী এবং এটি কীভাবে ব্যবহার করবেন