Hướng dẫn np loadtxt trong python

Mô-đun numpy của Python cung cấp chức năng tải dữ liệu từ tệp văn bản. Mô-đun numpy cung cấp hàm loadtxt [] để trở thành trình đọc nhanh cho các tệp văn bản đơn giản.

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

Lưu ý: Trong tệp văn bản, mỗi hàng phải có cùng số lượng giá trị.

Cú pháp

numpy.loadtxt[fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0]  

Tham số

Đây là tham số sau trong hàm numpy.loadtxt []:

  1. fname: file, str hoặc pathlib.Path. Tham số này xác định tệp, tên tệp hoặc trình tạo để đọc. Đầu tiên, chúng tôi sẽ giải nén tệp, nếu phần mở rộng tên tệp là .gz và .bz2. Sau đó, trình tạo sẽ trả về chuỗi byte cho Python 3k.
  1. dtype: kiểu dữ liệu [tùy chọn]. Tham số này xác định kiểu dữ liệu cho mảng kết quả và theo mặc định, kiểu dữ liệu sẽ là float. Mảng kết quả sẽ là 1 chiều khi nó là kiểu dữ liệu có cấu trúc. Mỗi hàng được hiểu là một phần tử mảng và số cột được sử dụng phải khớp với số trường trong kiểu dữ liệu.
  2. comments: str hoặc chuỗi [tùy chọn]. Tham số này xác định các ký tự hoặc danh sách các ký tự được sử dụng để chỉ ra phần bắt đầu của nhận xét. Theo mặc định, nó sẽ là ‘#’.
  3. delimiter: str [tùy chọn]. Tham số này xác định chuỗi được sử dụng để phân tách các giá trị. Theo mặc định, nó sẽ là bất kỳ khoảng trắng nào.
  4. converters: dict [tùy chọn]. Tham số này xác định số cột ánh xạ từ điển thành một hàm sẽ chuyển đổi cột được ánh xạ thành float. Khi cột [] là một chuỗi ngày thì các bộ chuyển đổi = {0: datestr2num}. Tham số này cũng được sử dụng để cung cấp giá trị mặc định cho dữ liệu bị thiếu dưới dạng bộ chuyển đổi = {3: lambda s: float [s.strip [] hoặc 0]}.
  5. skiprows: int [tùy chọn]. Tham số này được sử dụng để bỏ qua ‘bỏ qua’ đầu tiên và theo mặc định, nó sẽ là 0.
  6. usecols: int hoặc chuỗi [tùy chọn]. Tham số này xác định các cột để đọc, với 0 là cột đầu tiên. Ví dụ: usecols = [0, 3, 5] sẽ trích xuất cột 1, 4 và 5. Theo mặc định, giá trị của nó là Không, điều này dẫn đến tất cả các cột được đọc. Trong phiên bản mới, chúng ta có thể sử dụng một số nguyên thay vì một bộ giá trị nếu chúng ta muốn đọc một cột duy nhất.
  7. unpack: bool [tùy chọn]. Nếu tham số này được đặt thành true, thì mảng trả về sẽ được hoán vị, do đó các đối số có thể được giải nén bằng cách sử dụng x, y, z = loadtxt […]. Các mảng được trả về cho mỗi trường khi sử dụng nó với kiểu dữ liệu có cấu trúc. Theo mặc định, nó sẽ được đặt thành Sai.
  8. ndim: int [tùy chọn]. Mảng được trả về sẽ có kích thước ‘ndmin’. Nếu không, nó sẽ bóp trục đơn chiều. Giá trị pháp lý: 0 [mặc định], 1 hoặc 2.

Return: out [ndarray]

Nó đọc dữ liệu từ tệp văn bản dưới dạng một ndarray.

Ví dụ 1:

import numpy as np  
from io import StringIO  
c = StringIO[u"0 1\n2 3"]  
c  
np.loadtxt[c]

Trong đoạn code trên

  • Chúng tôi cũng đã nhập StringIO từ io.
  • Chúng ta đã khai báo biến ‘c’ và gán giá trị trả về của hàm StringIO [].
  • Chúng tôi đã chuyển dữ liệu unicode trong hàm.
  • Cuối cùng, chúng tôi đã cố gắng in giá trị trả về của np.loadtxt [] mà chúng tôi đã chuyển tệp hoặc tên tệp.
  • Trong đầu ra, nó hiển thị nội dung của tệp ở dạng ndarray.

Ví dụ 2:

import numpy as np  
from io import StringIO  
d = StringIO[u"M 21 72\nF 35 58"]  
np.loadtxt[d, dtype={'names': ['gender', 'age', 'weight'],'formats': ['S1', 'i4', 'f4']}]  

Đầu ra:

Ví dụ 3:

import numpy as np  
from io import StringIO  
c = StringIO[u"1,3,2\n3,5,4"]  
x, y = np.loadtxt[c, delimiter=',', usecols=[0, 2], unpack=True]  
x  
y  

Đầu ra:

Trong đoạn code trên

  • Chúng tôi cũng đã nhập StringIO từ io.
  • Chúng ta đã khai báo biến ‘c’ và gán giá trị trả về của hàm StringIO [].
  • Chúng tôi đã chuyển dữ liệu unicode trong hàm.
  • Cuối cùng, chúng tôi đã cố gắng in giá trị trả về của np.loadtxt trong đó chúng tôi đã chuyển tệp hoặc tên tệp, đặt dấu phân cách, usecols và giải nén thành True.
  • Trong đầu ra, nó hiển thị nội dung của tệp đã được hiển thị dưới dạng ndarray.

Python NumPy loadtxt[] được sử dụng để tải dữ liệu từ một tệp văn bản và lưu trữ chúng trong một ndarray. Mục đích của loadtxt[] là trình đọc nhanh các tệp văn bản đơn giản. Mỗi hàng trong tệp văn bản phải có cùng một số giá trị.

Trong bài viết này, tôi sẽ giải thích về python numpy.loadtxt[] cú pháp và cách chúng ta có thể sử dụng các tham số của nó trong khi đọc dữ liệu từ các tệp văn bản với các ví dụ.

  • 1. Ví dụ nhanh về hàm NumPy loadtxt []
  • 2. Cú pháp của loadtxt NumPy []
    • 2.2 Các tham số của loadtxt []
    • 2.3 Giá trị trả về của loadtxt []
  • 3. Đọc dữ liệu từ tệp văn bản Sử dụng NumPy loadtxt []
  • 4. Đọc dữ liệu văn bản với dtype
  • 5. Sử dụng loadtxt [] cùng với dấu phân cách
  • 6. Đọc dữ liệu văn bản với usecols
  • 7. Sử dụng Numpy loadtxt [] với Param giải nén
  • 8. Kết luận
    • Bạn cũng có thể thích
    • Người giới thiệu

1. Ví dụ nhanh về hàm NumPy loadtxt []

Nếu bạn đang vội, dưới đây là một số ví dụ nhanh về cách sử dụng hàm loadtxt [] để lấy NumPy Array.


# Below are a quick example

# Example 1: numpy read txt file using numpy.loadtxt[] function
arr = StringIO["5 8 11 n14 19 21 n 24 32 36"]
arr2 = np.loadtxt[arr] 

# Example 2: Use numpy.loadtxt[] function to set dtype parameter
arr2 = np.loadtxt[arr,dtype="int"]

# Example 3: Use set delimiter parameter in numpy.loadtxt[] function
arr = StringIO["5, 8, 11 n14, 19, 21 n 24, 32, 36"] 
arr2 = np.loadtxt[arr,dtype="int",delimiter=","]

# Example 4: Use Set usecols Parameter in Use numpy.loadtxt[] Function
arr2 = np.loadtxt[arr,dtype="int",usecols =[1,2]]

# Example 5: Use set unpack parameter in numpy.loadtxt[] function
[x,y,z] = np.loadtxt[arr,dtype="int",unpack=True]

# Example 6: set delimiter, usecols, unpack Parameter
arr = StringIO["5, 8, 11 n14, 19, 21 n 24, 32, 36"] 
x,y,z = np.loadtxt[arr,delimiter=", ", usecols =[0,1,2], unpack = True]

2. Cú pháp của loadtxt NumPy []

Sau đây là cú pháp của hàm loadtxt []


# Syntax of NumPy loadtxt[] 
numpy.loadtxt[fname, dtype=’float’, comments=’#’, delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0 encoding='bytes', max_rows=None]

2.2 Các tham số của loadtxt []

Sau đây là các tham số của loadtxt [].

  • fname – Tệp, tên tệp hoặc trình tạo để đọc. Nếu phần mở rộng tên tệp, Đường dẫn của tệp txt sẽ được nhập.
  • dtype – Kiểu dữ liệu của mảng kết quả.
  • comments – Các ký tự hoặc danh sách các ký tự được sử dụng để chỉ ra sự bắt đầu của một bình luận.
  • delimiter – Chuỗi dùng để phân cách các giá trị. Theo mặc định, đây là bất kỳ khoảng trắng nào. Dấu phân tách được sử dụng để phân tích nội dung của txt một tập tin.
  • converters – Một từ điển ánh xạ số cột với một hàm sẽ phân tích cú pháp chuỗi cột thành giá trị mong muốn. Mặc định: Không có.
  • skiprows – Bỏ qua các dòng bỏ qua hàng đầu tiên, bao gồm cả nhận xét; mặc định: 0.
  • usecols – Các chỉ số cột cần đọc.
  • unpack – Nếu True, mảng được trả về sẽ được hoán vị, do đó các đối số có thể được giải nén bằng cách sử dụng x, y, z = loadtxt […]. [unpack=True]
  • ndmin – Số thứ nguyên tối thiểu trong mảng được trả về.
  • encoding – Mã hóa dùng để giải mã inputfile.
  • max_rows – Số hàng tối đa để đọc sau các dòng bỏ qua.

2.3 Giá trị trả về của loadtxt []

Nó trả về ndarray được tải với dữ liệu từ tệp văn bản.

Note :

Chức năng này nhằm mục đích trở thành trình đọc nhanh cho các tệp được định dạng đơn giản. Các genfromtxt[] hàm cung cấp khả năng xử lý phức tạp hơn, ví dụ, các dòng có giá trị bị thiếu.

3. Đọc dữ liệu từ tệp văn bản Sử dụng NumPy loadtxt []

numpy.loadtxt[] được sử dụng để trả về mảng NumPy n chiều bằng cách đọc dữ liệu từ tệp văn bản, với mục đích trở thành trình đọc nhanh cho các tệp văn bản đơn giản.

Chức năng này numpy.loadtxt[] có thể được sử dụng với cả hai đường dẫn tuyệt đối và tương đối. Nó tải dữ liệu từ tệp văn bản vào mảng NumPy. Để làm được điều đó, chúng ta cần nhập hai mô-đun python một là NumPy và mô-đun còn lại là StringIO từ mô-đun io. Bất cứ thứ gì bên trong StringIO đều là một Đối tượng Tệp. Ví dụ sau đây đọc một văn bản từ một đối tượng Chuỗi.

Ghi chú: Số cột trước toán tử dòng mới [n] và sau phải giống nhau.


import numpy as np
# StringIO behaves like a file object
from io import StringIO    
arr = StringIO["5 8 11 n14 19 21 n 24 32 36"] 

# Read data from text file 
arr2 = np.loadtxt[arr] 
print[arr2]

Sản lượng thấp hơn sản lượng.


[[ 5.  8. 11.]
 [14. 19. 21.]
 [24. 32. 36.]]

4. Đọc dữ liệu văn bản với dtype

Theo mặc định, nó đọc dữ liệu dưới dạng float. bạn có thể thay đổi điều này bằng cách sử dụng tham số dtype. Ví dụ sau tải tất cả các phần tử vào một mảng từ text dưới dạng số nguyên.


# Read data use numpy.loadtxt[] with dtype parameter
arr2 = np.loadtxt[arr,dtype="int"]
print[arr2]

# Output
# [[ 5  8 11]
# [14 19 21]
# [24 32 36]]

5. Sử dụng loadtxt [] cùng với dấu phân cách

Theo mặc định, nó sử dụng khoảng trắng làm dấu phân cách. Bạn có thể đặt dấu phân cách theo cách thủ công bằng cách sử dụng tham số dấu phân cách. Ví dụ sau đây đọc văn bản được phân tách bằng dấu phân cách bằng dấu phẩy.


# Read data use numpy.loadtxt[] with delimiter parameter
arr = StringIO["5, 8, 11 n14, 19, 21 n 24, 32, 36"] 
arr2 = np.loadtxt[arr,dtype="int",delimiter=","]
print[arr2]

# Output
# [[ 5  8 11]
# [14 19 21]
# [24 32 36]]

6. Đọc dữ liệu văn bản với usecols

Sử dụng usecols để chỉ định cột nào sẽ được đọc từ tệp txt. Ví dụ sau chỉ đọc cột thứ hai và thứ ba từ tệp txt vào mảng.


# Read data use numpy.loadtxt[] with usecols parameter
arr2 = np.loadtxt[arr,dtype="int",usecols =[1,2]]
print[arr2]

# Output
# [[ 8 11]
# [19 21]
# [32 36]]

7. Sử dụng Numpy loadtxt [] với Param giải nén

Bạn cũng có thể sử dụng hoán vị mảng và giải nén các hàng của mảng đã hoán vị thành các biến được chỉ định.


# Read data use numpy.loadtxt[] with unpack parameter
[x,y,z] = np.loadtxt[arr,dtype="int",unpack=True]
print[x]
print[y]
print[z]

# Output
# [ 5 14 24]
# [ 8 19 32]
# [11 21 36]

8. Kết luận

Trong bài viết này, tôi đã giải thích Python NumPy loadtxt[] để tải dữ liệu từ text. Cũng được bảo hiểm bằng cách sử dụng dtype, delimiter, usecols unpack Các thông số với ví dụ.

Học vui vẻ !!

Bạn cũng có thể thích

Người giới thiệu

Chủ Đề