행렬은 스프레드시트와 같은 데이터를 저장하고 작업하는 데 사용할 수 있는 2D(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 객체는 변경할 수 없으므로 새 행렬을 생성하지 않고는 값을 변경할 수 없습니다. 이 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
Dru와 함께 플로팅
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 파일로 찾을 수 있습니다.
Rails 애플리케이션에서 Daru를 사용하려면 daru-view
를 추가해야 합니다. gem을 섞어서 사용하거나 chartkick과 같은 다른 gem을 사용하세요.
요약
Ruby의 행렬에 대해 배웠으므로 2차원 데이터로 작업할 수 있습니다!
더 많은 사람들이 찾을 수 있도록 이 기사를 공유하는 것을 잊지 마세요.
읽어주셔서 감사합니다.