Ma trận tương quan trong Python là gì

Excel cho Microsoft 365 Excel cho Microsoft 365 dành cho máy Mac Excel cho web Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 for Mac Excel 2016 Excel 2016 for Mac Excel 2013 Excel 2010 Excel 2007 Excel for Mac 2011 Excel Starter 2010 Xem thêm...Ít hơn

Hàm CORREL trả về hệ số tương quan của hai phạm vi ô. Dùng hệ số tương quan để xác định mối quan hệ giữa hai thuộc tính. Ví dụ, bạn có thể kiểm tra mối quan hệ giữa nhiệt độ trung bình của địa điểm nào đó với việc dùng điều hòa nhiệt độ.

CORREL(array1, array2)

Cú pháp hàm CORREL có các đối số sau đây:

  • array1    Bắt buộc. Một phạm vi giá trị ô.

  • array2    Bắt buộc. Phạm vi thứ hai chứa các giá trị ô.

  • Nếu một đối số mảng hoặc tham chiếu có chứa văn bản, giá trị lô-gic hoặc ô trống, những giá trị này sẽ bị bỏ qua; tuy nhiên, ô có giá trị bằng không sẽ được bao gồm.

  • Nếu array1 và array2 có số điểm dữ liệu khác nhau, thì giá trị CORREL trả về #N/A.

  • Nếu array1 hoặc array2 trống hoặc nếu s (độ lệch chuẩn) của các giá trị của chúng bằng không, thì giá trị CORREL trả về kết quả #DIV/0! lỗi.

  • Hệ số tương quan gần với +1 hoặc -1, nó cho biết tương quan dương (+1) hoặc âm (-1) giữa các mảng. Tương quan dương có nghĩa là nếu các giá trị trong một mảng đang tăng dần, thì các giá trị trong mảng kia cũng tăng. Hệ số tương quan gần bằng 0, biểu thị không có tương quan nào hoặc yếu.

  • Phương trình cho hệ số tương quan là:

    trong đó 

    là các giá trị trung bình mẫu AVERAGE(array1) và AVERAGE(array2).

Ví dụ sau đây trả về hệ số tương quan của hai tập dữ liệu trong các cột A và B.

Bạn luôn có thể hỏi một chuyên gia trong Cộng đồng Kỹ thuật Excel hoặc nhận sự hỗ trợ trongCộng đồng trả lời.

Sử dụng ma trận Python với Numpy

Để thực hiện các thao tác dữ liệu ma trận, bạn có thể sử dụng gói numpy. NumPy là thư viện được viết bằng Python nhằm phục vụ cho việc tính toán khoa học, hỗ trợ nhiều kiểu dữ liệu đa chiều giúp cho việc tính toán, lập trình, làm việc với các hệ cơ sở dữ liệu cực kì thuận tiện. Bạn có thể sử dụng các các phép toán và mảng (array) được định nghĩa trong numpy để tạo ma trận. Array này là một đối tượng mảng đa chiều thuần nhất tức là mọi phần tử đều cùng 1 kiểu.

Một số thao tác phép toán trong Numpy

  1. add (): - Hàm này được sử dụng để thực hiện phép cộng ma trận phần tử wise 
  2. subtract (): - Hàm này dùng để thực hiện phép trừ ma trận phần tử .
  3. split (): - Hàm này được sử dụng để thực hiện phép chia ma trận phần tử wise.

Ví dụ

# Python code to demonstrate matrix operations

# add(), subtract() and divide()

# importing numpy for matrix operations

import numpy

# initializing matrices

x = numpy.array([[1, 2], [4, 5]])

y = numpy.array([[7, 8], [9, 10]])

# using add() to add matrices

print ("The element wise addition of matrix is : ")

print (numpy.add(x,y))

# using subtract() to subtract matrices

print ("The element wise subtraction of matrix is : ")

print (numpy.subtract(x,y))  

# using divide() to divide matrices

print ("The element wise division of matrix is : ")

print (numpy.divide(x,y))

Kết quả

The element wise addition of matrix is : 

[[ 8 10]

 [13 15]]

The element wise subtraction of matrix is : 

[[-6 -6]

 [-5 -5]]

The element wise division of matrix is : 

[[ 0.14285714  0.25      ]

 [ 0.44444444  0.5       ]]

  1. Nhân (): - Hàm này được sử dụng để thực hiện phép nhân ma trận phần tử .
  2. dot (): - Hàm này được sử dụng để tính toán phép nhân ma trận, chứ không phải phép nhân phần tử wise .
  3. sqrt (): - Hàm này dùng để tính căn bậc hai của từng phần tử của ma trận.
  4. sum (x, axis): - Hàm này dùng để cộng tất cả các phần tử trong ma trận . Đối số "trục" tùy chọn tính tổng cột nếu trục là 0 và tổng hàng nếu trục là 1 .
  5. “T”: - Đối số này được sử dụng để chuyển vị trí của ma trận được chỉ định.

Ví dụ về ma trận trong Python

Ví dụ đơn giản về ma trận trong Python

Ta sẽ xem xét trường hợp ghi nhiệt độ trong một tuần được đo vào buổi sáng, giữa ngày, buổi tối và giữa đêm. Trường hợp này có thể được trình bày dưới dạng ma trận 7x5 bằng cách sử dụng mảng và phương pháp định hình có sẵn trong Numpy như sau:

from numpy import * 

a = array([['Mon',18,20,22,17],['Tue',11,18,21,18],

  ['Wed',15,21,20,19],['Thu',11,20,22,21],

  ['Fri',18,17,23,22],['Sat',12,22,20,18],

  ['Sun',13,15,19,16]])

m = reshape(a,(7,5))

print(m)

Dữ liệu trên có thể được biểu diễn dưới dạng một mảng hai chiều như bên dưới.

[['Mon' '18' '20' '22' '17']

 ['Tue' '11' '18' '21' '18']

 ['Wed' '15' '21' '20' '19']

 ['Thu' '11' '20' '22' '21']

 ['Fri' '18' '17' '23' '22']

 ['Sat' '12' '22' '20' '18']

 ['Sun' '13' '15' '19' '16']]

Khi đoạn mã trên được thực thi, nó sẽ cho ra kết quả như sau:

['Wed', 15, 21, 20, 19]

23

>>> Xem thêm: Từ điển trong Python - Cách sử dụng từ điển trong Python

Một số thao tác tạo ma trận trong Python

from numpy import * 

m = array([['Mon',18,20,22,17],['Tue',11,18,21,18],

  ['Wed',15,21,20,19],['Thu',11,20,22,21],

  ['Fri',18,17,23,22],['Sat',12,22,20,18],

  ['Sun',13,15,19,16]])  

m_r = append(m,[['Avg',12,15,13,11]],0)

print(m_r)

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

[['Mon' '18' '20' '22' '17']

 ['Tue' '11' '18' '21' '18']

 ['Wed' '15' '21' '20' '19']

 ['Thu' '11' '20' '22' '21']

 ['Fri' '18' '17' '23' '22']

 ['Sat' '12' '22' '20' '18']

 ['Sun' '13' '15' '19' '16']

 ['Avg' '12' '15' '13' '11']]

>>> Xem thêm: Khóa học lập trình Python

Thêm một cột trong ma trận Python

Chúng ta có thể thêm cột vào ma trận bằng phương thức insert (). ở đây chúng ta phải đề cập đến chỉ mục nơi chúng ta muốn thêm cột và một mảng chứa các giá trị mới của các cột được thêm vào. Trong ví dụ dưới đây, một cột mới đã được thêm từ vị trí thứ 5

from numpy import * 

m = array([['Mon',18,20,22,17],['Tue',11,18,21,18],

  ['Wed',15,21,20,19],['Thu',11,20,22,21],

  ['Fri',18,17,23,22],['Sat',12,22,20,18],

  ['Sun',13,15,19,16]])

m_c = insert(m,[5],[[1],[2],[3],[4],[5],[6],[7]],1)

print(m_c)

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

[['Mon' '18' '20' '22' '17' '1']

 ['Tue' '11' '18' '21' '18' '2']

 ['Wed' '15' '21' '20' '19' '3']

 ['Thu' '11' '20' '22' '21' '4']

 ['Fri' '18' '17' '23' '22' '5']

 ['Sat' '12' '22' '20' '18' '6']

 ['Sun' '13' '15' '19' '16' '7']]

Xóa một hàng tạo thành một Ma trận Python

Chúng ta có thể xóa một hàng khỏi ma trận bằng phương thức delete (). Chúng ta phải chỉ định chỉ số của hàng và giá trị trục là 0 cho một hàng và 1 cho một cột.

from numpy import * 

m = array([['Mon',18,20,22,17],['Tue',11,18,21,18],

  ['Wed',15,21,20,19],['Thu',11,20,22,21],

  ['Fri',18,17,23,22],['Sat',12,22,20,18],

  ['Sun',13,15,19,16]])

m = delete(m,[2],0)

print(m)

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

[['Mon' '18' '20' '22' '17']

 ['Tue' '11' '18' '21' '18']

 ['Thu' '11' '20' '22' '21']

 ['Fri' '18' '17' '23' '22']

 ['Sat' '12' '22' '20' '18']

 ['Sun' '13' '15' '19' '16']]

Xóa một cột khỏi Ma trận Python

Chúng ta có thể xóa một cột khỏi ma trận bằng phương thức delete (). Chúng ta phải chỉ định chỉ số của cột và giá trị trục là 0 cho một hàng và 1 cho một cột.

from numpy import * 

m = array([['Mon',18,20,22,17],['Tue',11,18,21,18],

  ['Wed',15,21,20,19],['Thu',11,20,22,21],

  ['Fri',18,17,23,22],['Sat',12,22,20,18],

  ['Sun',13,15,19,16]])

m = delete(m,s_[2],1)

print(m)

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

[['Mon' '18' '22' '17']

 ['Tue' '11' '21' '18']

 ['Wed' '15' '20' '19']

 ['Thu' '11' '22' '21']

 ['Fri' '18' '23' '22']

 ['Sat' '12' '20' '18']

 ['Sun' '13' '19' '16']]

Cập nhật một hàng trong Ma trận Python

Để cập nhật các giá trị trong hàng của ma trận, chúng ta chỉ cần gán lại các giá trị tại chỉ mục của hàng. Trong ví dụ dưới đây, tất cả các giá trị cho dữ liệu của ngày thứ hai được đánh dấu là 0. Chỉ số cho hàng này là 3.

from numpy import * 

m = array([['Mon',18,20,22,17],['Tue',11,18,21,18],

  ['Wed',15,21,20,19],['Thu',11,20,22,21],

  ['Fri',18,17,23,22],['Sat',12,22,20,18],

  ['Sun',13,15,19,16]])

m[3] = ['Thu',0,0,0,0]

print(m)

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

[['Mon' '18' '20' '22' '17']

 ['Tue' '11' '18' '21' '18']

 ['Wed' '15' '21' '20' '19']

 ['Thu' '0' '0' '0' '0']

 ['Fri' '18' '17' '23' '22']

 ['Sat' '12' '22' '20' '18']

 ['Sun' '13' '15' '19' '16']]

Kết luận: Việc sử dụng NumPy trong việc tạo ma trận thay vì Nested list sẽ giúp bạn lập trình một cách dễ dàng hơn, đặc biệt trong việc nghiên cứu dữ liệu, khoa học.

Nguồn tham khảo: Tutorialspoint, Geeksforgeeks

Video liên quan

Chủ đề