Hướng dẫn dùng numpy frombuffer python

Trong bài hôm nay, chúng ta sẽ bàn luận về cách tạo mảng từ dữ liệu có sẵn

1.numpy.asarray :

Hàm này tương tự như numpy.array ngoại trừ thực tế là nó có ít tham số hơn. Quy trình này rất hữu ích để chuyển đổi chuỗi Python thành ndarray.

numpy.asarray(a, dtype = None, order = None)

Các tham số cần lưu ý :

  1. a : Nhập dữ liệu dưới bất kỳ hình thức nào như list, list của tuples, tuples, tuple của tuples hoặc tuple của lists
  2. dtype : Theo mặc định, kiểu dữ liệu của dữ liệu đầu vào được áp dụng cho mảng kết quả
  3. order : C (hàng chính) hoặc F (cột chính). C là mặc định

Ví dụ 1 :

# convert list to ndarray 
import numpy as np 

x = [1,2,3] 
a = np.asarray(x) 
print a

Kết quả :

Ví dụ 2 :

# dtype is set 
import numpy as np 

x = [1,2,3]
a = np.asarray(x, dtype = float) 
print a

Kết quả :

Ví dụ 3 :

# ndarray from tuple 
import numpy as np 

x = (1,2,3) 
a = np.asarray(x) 
print a

Kết quả :

Ví dụ 4 :

# ndarray from list of tuples 
import numpy as np 

x = [(1,2,3),(4,5)] 
a = np.asarray(x) 
print a

Kết quả :

2. numpy.frombuffer

Hàm này có nghĩa một bộ đệm là mảng một chiều. Bất kỳ đối tượng nào hiển thị giao diện bộ đệm được sử dụng làm tham số để trả về một ndarray.

numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)

Các tham số cần lưu ý như sau :

  1. buffer : Bất kỳ đối tượng nào hiển thị giao diện bộ đệm
  2. dtype : Kiểu dữ liệu của ndarray trả về. Mặc định là float
  3. count : Số mục cần đọc, mặc định -1 có nghĩa là tất cả dữ liệu
  4. offset : Vị trí bắt đầu để đọc. Mặc định là 0

Ví dụ :

import numpy as np 
s = 'Hello World' 
a = np.frombuffer(s, dtype = 'S1') 
print a

Kết quả :

['H'  'e'  'l'  'l'  'o'  ' '  'W'  'o'  'r'  'l'  'd']

3. numpy.fromiter :

Hàm này xây dựng đối tượng ndarray từ bất kỳ đối tượng có thể lặp lại nào. Một mảng một chiều mới được trả về bởi hàm này.

numpy.fromiter(iterable, dtype, count = -1)

  1. iterable :Mọi đối tượng có thể lặp lại
  2. dtype : Kiểu dữ liệu của mảng kết quả
  3. count : Số lượng các mục được đọc từ trình lặp. Mặc định là -1 có nghĩa là tất cả dữ liệu được đọc

Các ví dụ sau đây cho thấy cách sử dụng hàm range () dựng sẵn để trả về một danh sách các đối tượng . Một trình lặp của danh sách này tạo một đối tượng ndarray.

Ví dụ 1 :

# create list object using range function 
import numpy as np 
list = range(5) 
print list

Kết quả :

Ví dụ 2 :

# obtain iterator object from list 
import numpy as np 
list = range(5) 
it = iter(list)  

# use iterator to create ndarray 
x = np.fromiter(it, dtype = float) 
print x

Kết quả :

Đối tượng ndarray có thể được xây dựng bằng cách sử dụng các quy trình sau.

Các bài viết liên quan:

  • Numpy.empty
  • NumPy.Zeros
  • NumPy.ones
  • numpy.asarray
  • numpy.frombuffer
  • numpy.fromiter
  • Numpy.arrange
  • NumPy.linspace
  • numpy.logspace

Numpy.empty

Như tên đã chỉ định, Quy trình trống được sử dụng để tạo một mảng chưa khởi tạo có hình dạng và kiểu dữ liệu được chỉ định.

Cú pháp được đưa ra dưới đây.

numpy.empty (shape, dtype = float, order = 'C')

Nó chấp nhận các tham số sau.

  • shape: Hình dạng mong muốn của mảng được chỉ định.
  • dtype: Kiểu dữ liệu của các mục mảng. Giá trị mặc định là float.
  • order : Thứ tự mặc định là thứ tự hàng-chính kiểu c. Nó có thể được đặt thành F cho thứ tự chính của cột kiểu FORTRAN.

Thí dụ

import numpy as np  
arr = np.empty((3,2), dtype = int)  
print(arr) 

Hướng dẫn dùng numpy frombuffer python

NumPy.Zeros

Quy trình này được sử dụng để tạo mảng numpy với hình dạng được chỉ định trong đó mỗi mục mảng numpy được khởi tạo bằng 0.

Cú pháp được đưa ra dưới đây.

numpy.zeros (shape, dtype = float, order = 'C')

Nó chấp nhận các tham số sau.

  • shape: Hình dạng mong muốn của mảng được chỉ định.
  • dtype: Kiểu dữ liệu của các mục mảng. Giá trị mặc định là float.
  • order : Thứ tự mặc định là thứ tự hàng-chính kiểu c. Nó có thể được đặt thành F cho thứ tự chính của cột kiểu FORTRAN.

Thí dụ

import numpy as np  
arr = np.zeros((3,2), dtype = int)  
print(arr) 

Hướng dẫn dùng numpy frombuffer python

NumPy.ones

Quy trình này được sử dụng để tạo mảng numpy với hình dạng được chỉ định trong đó mỗi mục mảng numpy được khởi tạo thành 1.

Cú pháp để sử dụng mô-đun này được đưa ra dưới đây.

numpy.ones (shape, dtype = none, order = 'C')

Nó chấp nhận các tham số sau.

  • shape: Hình dạng mong muốn của mảng được chỉ định.
  • dtype: Kiểu dữ liệu của các mục mảng.
  • order: Thứ tự mặc định là thứ tự hàng-chính kiểu c. Nó có thể được đặt thành F cho thứ tự chính của cột kiểu FORTRAN.

Thí dụ

import numpy as np  
arr = np.ones((3,2), dtype = int)  
print(arr)  

Hướng dẫn dùng numpy frombuffer python

NumPy cung cấp cho chúng ta cách tạo một mảng bằng cách sử dụng dữ liệu hiện có.

numpy.asarray

Quy trình này được sử dụng để tạo một mảng bằng cách sử dụng dữ liệu hiện có ở dạng danh sách hoặc bộ giá trị. Quy trình này hữu ích trong trường hợp chúng ta cần chuyển đổi một chuỗi python thành đối tượng mảng numpy.

Cú pháp để sử dụng quy trình asarray () được đưa ra bên dưới.

numpy.asarray(sequence,  dtype = None, order = None)  

Nó chấp nhận các tham số sau.

  • sequence: Đây là chuỗi python sẽ được chuyển đổi thành mảng python.
  • dtype: Là kiểu dữ liệu của từng mục của mảng.
  • order: Nó có thể được đặt thành C hoặc F. Giá trị mặc định là C.

Ví dụ: tạo mảng numpy bằng cách sử dụng danh sách

import numpy as np  
l=[1,2,3,4,5,6,7]  
a = np.asarray(l);  
print(type(a))  
print(a)  

Đầu ra:

Hướng dẫn dùng numpy frombuffer python

Ví dụ: tạo một mảng numpy bằng Tuple

import numpy as np  
l=(1,2,3,4,5,6,7)     
a = np.asarray(l);  
print(type(a))  
print(a)  

Đầu ra:

Hướng dẫn dùng numpy frombuffer python

Ví dụ: tạo một mảng numpy bằng cách sử dụng nhiều hơn một danh sách

import numpy as np  
l=[[1,2,3,4,5,6,7],[8,9]]  
a = np.asarray(l);  
print(type(a))  
print(a)  

Đầu ra:

Hướng dẫn dùng numpy frombuffer python

numpy.frombuffer

Hàm này được sử dụng để tạo một mảng bằng cách sử dụng bộ đệm được chỉ định. Cú pháp để sử dụng bộ đệm này được đưa ra dưới đây.

numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)  

Nó chấp nhận các tham số sau.

  • buffer: Nó đại diện cho một đối tượng hiển thị giao diện bộ đệm.
  • dtype: Nó đại diện cho kiểu dữ liệu của mảng kiểu dữ liệu trả về. Giá trị mặc định là 0.
  • count: Nó đại diện cho độ dài của ndarray được trả về. Giá trị mặc định là -1.
  • offset: Nó đại diện cho vị trí bắt đầu để đọc từ đó. Giá trị mặc định là 0.

Thí dụ

import numpy as np  
l = b'hello world'  
print(type(l))  
a = np.frombuffer(l, dtype = "S1")  
print(a)  
print(type(a)) 

Đầu ra:

Hướng dẫn dùng numpy frombuffer python

numpy.fromiter

Quy trình này được sử dụng để tạo một ndarray bằng cách sử dụng một đối tượng có thể lặp lại. Nó trả về một đối tượng ndarray một chiều.

Cú pháp được đưa ra dưới đây.

numpy.fromiter(iterable, dtype, count = - 1)  

Nó chấp nhận các tham số sau.

  • iterable: Nó đại diện cho một đối tượng có thể lặp lại.
  • dtype: Nó đại diện cho kiểu dữ liệu của các mục mảng kết quả.
  • count: Nó đại diện cho số lượng mục cần đọc từ bộ đệm trong mảng.

Thí dụ

import numpy as np  
list = [0,2,4,6]  
it = iter(list)  
x = np.fromiter(it, dtype = float)  
print(x)  
print(type(x))  

Đầu ra:

Hướng dẫn dùng numpy frombuffer python

Phần này của hướng dẫn minh họa cách có thể tạo mảng numpy bằng cách sử dụng một số phạm vi cụ thể nhất định.

Numpy.arrange

Nó tạo ra một mảng bằng cách sử dụng các giá trị cách đều nhau trong khoảng thời gian nhất định. Cú pháp để sử dụng hàm được đưa ra dưới đây.

numpy.arrange(start, stop, step, dtype)  

Nó chấp nhận các tham số sau.

  • start: Sự bắt đầu của một khoảng thời gian. Giá trị mặc định là 0.
  • stop: đại diện cho giá trị mà tại đó khoảng thời gian kết thúc không bao gồm giá trị này.
  • step: Số mà các giá trị khoảng thay đổi.
  • dtype: kiểu dữ liệu của các mục trong mảng.

Thí dụ

import numpy as np  
arr = np.arange(0,10,2,float)  
print(arr) 

Thí dụ

import numpy as np  
arr = np.arange(10,100,5,int)  
print("The array over the given range is ",arr)  

Đầu ra:

Hướng dẫn dùng numpy frombuffer python

NumPy.linspace

Nó tương tự như chức năng sắp xếp. Tuy nhiên, nó không cho phép chúng ta chỉ định kích thước bước trong cú pháp.

Thay vào đó, nó chỉ trả về các giá trị được phân tách đồng đều trong một khoảng thời gian được chỉ định. Hệ thống sẽ tính toán một cách ngầm định kích thước bước.

Cú pháp được đưa ra dưới đây.

numpy.linspace (start, stop, num, endpoint, retstep, dtype)

Nó chấp nhận các tham số sau.

  • start: Nó đại diện cho giá trị bắt đầu của khoảng thời gian.
  • stop: Nó đại diện cho giá trị dừng của khoảng thời gian.
  • num: Lượng mẫu cách đều nhau trong khoảng thời gian được tạo. Giá trị mặc định là 50.
  • endpoint: Giá trị thực của nó chỉ ra rằng giá trị dừng được bao gồm trong khoảng.
  • rettstep: Đây phải là một giá trị boolean. Đại diện cho các bước và mẫu giữa các số liên tiếp.
  • dtype: Nó đại diện cho kiểu dữ liệu của các mục mảng.

Thí dụ

import numpy as np  
arr = np.linspace(10, 20, 5)  
print("The array over the given range is ",arr)  

Đầu ra:

Hướng dẫn dùng numpy frombuffer python

Thí dụ

import numpy as np  
arr = np.linspace(10, 20, 5, endpoint = False)  
print("The array over the given range is ",arr)  

Đầu ra:

Hướng dẫn dùng numpy frombuffer python

numpy.logspace

Nó tạo ra một mảng bằng cách sử dụng các số được phân tách đồng đều trên thang log.

Cú pháp được đưa ra dưới đây.

numpy.logspace (start, stop, num, endpoint, base, dtype)

Nó chấp nhận các tham số sau.

  • start: Nó đại diện cho giá trị bắt đầu của khoảng trong cơ sở.
  • stop: Nó đại diện cho giá trị dừng của khoảng trong cơ sở.
  • num: Số giá trị giữa phạm vi.
  • endpoint: Nó là một giá trị kiểu boolean. Nó làm cho giá trị được biểu thị bằng điểm dừng là giá trị cuối cùng của khoảng thời gian.
  • base: Nó đại diện cho cơ sở của không gian log.
  • dtype: Nó đại diện cho kiểu dữ liệu của các mục mảng.

Thí dụ

import numpy as np  
arr = np.logspace(10, 20, num = 5, endpoint = True)  
print("The array over the given range is ",arr)  

Đầu ra:

Hướng dẫn dùng numpy frombuffer python

Thí dụ

import numpy as np  
arr = np.logspace(10, 20, num = 5,base = 2, endpoint = True)  
print("The array over the given range is ",arr)  

Đầu ra:

Hướng dẫn dùng numpy frombuffer python