เมทริกซ์คืออาร์เรย์ 2 มิติ (2 มิติ) ที่สามารถใช้ในการจัดเก็บและทำงานกับข้อมูลที่เหมือนสเปรดชีตได้
สามารถใช้ได้ :
- เป็นตัวแทนของกระดานในเกมโต๊ะ (หมากรุก หมากฮอส ฯลฯ)
- สถิติและการวิเคราะห์ข้อมูล
- การสร้างพล็อตและกราฟ
เนื่องจากนี่เป็นโครงสร้างข้อมูลที่มีประสิทธิภาพ การเรียนรู้วิธีการใช้งานจึงเป็นประโยชน์
วิธีสร้างเมทริกซ์ใน Ruby
คุณสามารถสร้างเมทริกซ์ด้วยอาร์เรย์ได้
ถูกใจสิ่งนี้ :
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
นี้ เป็นส่วนใหญ่สำหรับการดำเนินการทางคณิตศาสตร์ หากคุณต้องการการวิเคราะห์ข้อมูลและสถิติ คุณจะต้องการสิ่งที่มีประสิทธิภาพมากขึ้น
บางอย่างเช่น…
อัญมณีดารุ
Daru เป็นอัญมณีที่ให้คุณทำงานกับเมทริกซ์ รับสถิติจากพวกมัน และพิมพ์ออกมาเป็นตารางที่มีรูปแบบสวยงาม Daru ยังผสานรวมกับ Ruby พล็อตอัญมณี คุณจึงสร้างแผนภาพและกราฟจากข้อมูลของคุณได้
นี่คือตัวอย่าง :
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
พล็อตกับดารุ
Daru ช่วยให้คุณสร้างการแสดงข้อมูลเป็นภาพและส่งออกเป็นไฟล์ 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 ในแอปพลิเคชัน Rails คุณจะต้องเพิ่ม daru-view
อัญมณีเพื่อผสมหรือใช้อัญมณีอื่นเช่น Chartkick
สรุป
คุณได้เรียนรู้เกี่ยวกับเมทริกซ์ใน Ruby แล้ว คุณจึงสามารถทำงานกับข้อมูล 2 มิติได้!
อย่าลืมแชร์บทความนี้เพื่อให้คนอื่นค้นพบมันมากขึ้น
ขอบคุณสำหรับการอ่าน