Hướng dẫn này sẽ chỉ cho bạn cách sử dụng Numpy loadtxt để tải dữ liệu số được lưu trữ trong tệp văn bản vào một mảng Numpy
Hướng dẫn giải thích chức năng của hàm, giải thích cú pháp và hiển thị các ví dụ từng bước về cách sử dụng np. tảitxt
Nếu bạn cần một cái gì đó cụ thể, bạn có thể nhấp vào bất kỳ liên kết nào sau đây
Mục lục
Giới thiệu nhanh về Numpy Loadtxt
Numpy loadtxt là một chức năng cho gói Numpy
Như bạn có thể biết, Numpy là một gói dành cho ngôn ngữ lập trình Python cho phép lập trình viên làm việc với dữ liệu Số
Gói này có nhiều công cụ để tạo, tổng hợp, định hình lại và thao tác dữ liệu số. Đây là một trong những bộ công cụ chính để thực hiện khoa học dữ liệu và học máy bằng Python
Và mặc dù nó chủ yếu được sử dụng để sắp xếp và thao tác dữ liệu số, nhưng trước khi thực hiện việc sắp xếp dữ liệu đó, chúng tôi thường cần lấy dữ liệu số của mình từ một số nguồn
Đó là nơi Numpy loadtxt xuất hiện
Tải dữ liệu được lưu trữ trong tệp văn bản bằng Numpy Loadtxt
Numpy loadtxt cho phép bạn tải dữ liệu số được lưu trữ trong tệp văn bản
Vì vậy, ví dụ: nếu bạn có dữ liệu hàng và cột được lưu trữ trong tệp văn bản, trong đó các số được phân tách bằng dấu phẩy (được gọi là tệp myarray_1, myarray_2 = np.loadtxt(...) 9), bạn có thể sử dụng Numpy loadtxt để tải dữ liệu vào môi trường Python của mình
Nhưng đây là một công cụ khá linh hoạt cung cấp cho bạn nhiều quyền kiểm soát chi tiết đối với cách bạn nhập dữ liệu văn bản của mình
Và cách chính xác bạn sử dụng nó phụ thuộc vào cú pháp
Trong trường hợp đó, chúng ta hãy xem cú pháp của hàm
Cú pháp của Numpy Loadtxt
Trong phần hướng dẫn này, chúng ta sẽ xem xét cú pháp của Numpy loadtxt
Chúng ta sẽ xem xét cú pháp cấp cao và chúng ta cũng sẽ xem xét một số tham số tùy chọn thay đổi cách thức hoạt động của hàm
Một lưu ý nhanh về cú pháp
Một lời nhắc nhanh về cú pháp
Khi chúng tôi sử dụng Numpy (hoặc bất kỳ gói Python nào khác), trước tiên chúng tôi cần nhập gói đó
Và cách chúng tôi nhập gói sẽ ảnh hưởng đến cú pháp chính xác mà chúng tôi sử dụng
Ví dụ: khi chúng tôi nhập Numpy, chúng tôi hầu như luôn làm điều đó với mã này
import numpy as npĐây là quy ước tiêu chuẩn giữa những người dùng Python
Khi chúng tôi nhập Numpy như thế này, nó cho phép chúng tôi gọi các hàm Numpy với tiền tố import numpy as np 0
Tôi đang nhắc bạn về điều này, bởi vì (như tôi đã lưu ý) điều này thay đổi cú pháp một chút
Về sau, tôi sẽ cho rằng bạn đã nhập Numpy như thế này, với bí danh import numpy as np 0
np. cú pháp loadtxt
Hãy bắt đầu với cú pháp cấp cao
Trong trường hợp đơn giản nhất, chúng ta có thể gọi Numpy loadtxt bằng mã import numpy as np 2
Trong trường hợp đơn giản này, đầu vào đầu tiên (và duy nhất bắt buộc) cho hàm là tên của tệp văn bản mà bạn muốn tải dữ liệu của mình từ đó
Tuy nhiên, np. loadtxt có một số tham số tùy chọn cho phép bạn tinh chỉnh cách thức hoạt động của chức năng
Các tham số và đầu vào của Numpy Loadtxt
Sau đây, chúng ta hãy xem các thông số đầu vào và tùy chọn của Numpy loadtxt
- import numpy as np 3
- import numpy as np 4
- import numpy as np 5
- import numpy as np 6
- import numpy as np 7
- import numpy as np 8
- import numpy as np 9
- my_array = np.array([[1,2,3],[4,5,6]]) 0
- my_array = np.array([[1,2,3],[4,5,6]]) 1
- my_array = np.array([[1,2,3],[4,5,6]]) 2
- my_array = np.array([[1,2,3],[4,5,6]]) 3
- my_array = np.array([[1,2,3],[4,5,6]]) 4
- my_array = np.array([[1,2,3],[4,5,6]]) 5
Hãy xem xét từng cái một
import numpy as np 3 (bắt buộc)Đối số import numpy as np 3 là đầu vào đầu tiên cho Numpy loadtxt
Như đã đề cập ở trên, đây là tên của tệp văn bản đầu vào
Điều quan trọng là chỉ ra rằng đối số này là vị trí. Numpy tự động giả định rằng đầu vào đầu tiên của hàm là tên của tệp văn bản đầu vào
import numpy as np 4Tham số import numpy as np 4 chỉ định kiểu dữ liệu của mảng Numpy đầu ra
Theo mặc định, điều này được đặt thành print(my_array) 0
import numpy as np 5Tham số import numpy as np 5 cho phép bạn chỉ ra một ký tự hoặc chuỗi ký tự chỉ định nhận xét trong tệp đầu vào
Theo mặc định, điều này được đặt thành print(my_array) 3
import numpy as np 6import numpy as np 6 chỉ định ký tự phân cách phân tách các cột trong tệp văn bản đầu vào
Theo mặc định, điều này được đặt thành print(my_array) 6. Với mặc định này, np. loadtxt giả định rằng khoảng trắng phân tách các cột
Nếu bạn có tệp được phân tách bằng dấu phẩy, bạn sẽ sử dụng print(my_array) 7
(Tôi sẽ chỉ cho bạn một ví dụ về điều này. )
import numpy as np 7Tham số import numpy as np 7 cho phép bạn chỉ định một hàm sẽ “chuyển đổi” các chuỗi bằng cách thao tác trên chúng theo một cách nào đó
Ngoài ra, thay vì cung cấp một chức năng duy nhất để hoạt động trên tất cả các cột, bạn có thể chỉ định một chức năng chuyển đổi cụ thể cho bất kỳ cột nào của đầu vào
import numpy as np 8Tham số import numpy as np 8 chỉ định số lượng hàng trong tệp đầu vào để “bỏ qua” khi nó phân tích cú pháp dữ liệu văn bản
Theo mặc định, điều này được đặt thành [[1 2 3] [4 5 6]] 2
import numpy as np 9Tham số import numpy as np 9 chỉ định các cột sẽ truy xuất từ tệp đầu vào
Theo mặc định, giá trị này được đặt thành [[1 2 3] [4 5 6]] 5, đọc tất cả các cột
Nếu bạn muốn chỉ định các cột cụ thể, bạn có thể cung cấp chỉ mục số bên trong danh sách hoặc bộ. Ví dụ: để trích xuất cột 1 và 3, bạn sẽ sử dụng [[1 2 3] [4 5 6]] 6. (Nhớ. Lập chỉ mục Python bắt đầu từ 0)
my_array = np.array([[1,2,3],[4,5,6]]) 0Tham số my_array = np.array([[1,2,3],[4,5,6]]) 0 cho phép bạn “giải nén” tệp văn bản thành nhiều mảng Numpy (trái ngược với một mảng)
Theo mặc định, điều này được đặt thành [[1 2 3] [4 5 6]] 9
Nếu bạn đặt giá trị này thành np.savetxt('my_numpy_data.txt', my_array) 0, bạn sẽ có thể giải nén đầu ra thành nhiều mảng. Ví dụ
myarray_1, myarray_2 = np.loadtxt(...) np.savetxt('my_numpy_data.txt', my_array) 1Tham số np.savetxt('my_numpy_data.txt', my_array) 1 chỉ định số lượng kích thước tối thiểu của mảng đầu ra
Theo mặc định, điều này được đặt thành np.savetxt('my_numpy_data.txt', my_array) 3
Ngoài ra, các đối số hợp lệ khác là np.savetxt('my_numpy_data.txt', my_array) 4 hoặc np.savetxt('my_numpy_data.txt', my_array) 5
my_array = np.array([[1,2,3],[4,5,6]]) 2Tham số my_array = np.array([[1,2,3],[4,5,6]]) 2 cho phép bạn chỉ định mã hóa của tệp văn bản
Theo mặc định, điều này được đặt thành np.savetxt('my_numpy_data.txt', my_array) 8
Nếu bạn ghi đè điều này, thì các chuỗi sẽ được coi là unicode và các chuỗi sẽ được xử lý bởi bất kỳ trình chuyển đổi được chỉ định nào
my_array = np.array([[1,2,3],[4,5,6]]) 3Tham số my_array = np.array([[1,2,3],[4,5,6]]) 3 chỉ định số hàng tối đa để đọc từ tệp văn bản (sau bất kỳ hàng nào bị bỏ qua bởi import numpy as np 8)
Theo mặc định, giá trị này được đặt thành np.loadtxt('my_numpy_data.txt') 2, đọc tất cả các hàng
my_array = np.array([[1,2,3],[4,5,6]]) 4Tham số my_array = np.array([[1,2,3],[4,5,6]]) 4 cho phép bạn chỉ định một ký tự chỉ định mục được trích dẫn
Theo mặc định, điều này được đặt thành np.loadtxt('my_numpy_data.txt') 5, vô hiệu hóa trích dẫn cho quá trình tải
my_array = np.array([[1,2,3],[4,5,6]]) 5Tham số my_array = np.array([[1,2,3],[4,5,6]]) 5 cho phép bạn chỉ định một loại đối tượng bên cạnh một mảng Numpy, sao cho đầu ra là một đối tượng giống như mảng, thay vì một mảng Numpy thích hợp
Ví dụ về cách sử dụng Numpy Loadtxt
Bây giờ chúng ta đã xem xét cú pháp và tham số của Numpy loadtxt, hãy xem một số ví dụ
ví dụ
Mã thiết lập (chạy mã này trước)
Trước khi chạy các ví dụ, bạn sẽ cần chạy một số mã thiết lập
Cụ thể, bạn cần import Numpy và tạo một mảng Numpy để chúng ta có thể làm việc với
Nhập NumpyTrước tiên, bạn có thể nhập Numpy bằng mã này
import numpy as npHãy nhớ những gì tôi đã viết trước đó trong hướng dẫn này. nhập Numpy như thế này cho phép chúng tôi gọi các hàm Numpy có tiền tố import numpy as np 0
Tạo mảng NumpyThứ hai, chúng ta sẽ tạo một mảng Numpy mà chúng ta có thể sử dụng trong các ví dụ của mình
Ở đây, chúng ta sẽ tạo một mảng 2D với các số từ 1 đến 6, sử dụng hàm mảng Numpy
my_array = np.array([[1,2,3],[4,5,6]])Và hãy in nó ra để xem
print(my_array)NGOÀI
[[1 2 3] [4 5 6]]Như bạn có thể thấy, đây là một mảng 2 chiều đơn giản với sáu giá trị
Trong tất cả các ví dụ, trước tiên chúng ta sẽ sử dụng Numpy savetxt để lưu mảng này vào một tệp văn bản. Sau đó, chúng tôi sẽ tải lại vào Python bằng Numpy loadtxt
VÍ DỤ 1. Tải một mảng Numpy từ một tệp văn bản
Đầu tiên, chúng ta sẽ bắt đầu với một ví dụ đơn giản
Chúng tôi sẽ tải một mảng Numpy từ một tệp văn bản đơn giản
Như trong tất cả các ví dụ của chúng tôi, với mục đích minh họa, điều này sẽ có hai bước
- lưu một mảng Numpy vào một tệp văn bản
- tải mảng trở lại môi trường của chúng tôi, với Numpy loadtxt
Lưu mảng Numpy vào tệp văn bản
Đầu tiên, chúng ta sẽ lưu mảng Numpy của mình vào một tệp văn bản
np.savetxt('my_numpy_data.txt', my_array)Nếu bạn muốn hiểu cách thức hoạt động của nó, tôi khuyên bạn nên đọc hướng dẫn của chúng tôi về Numpy savetxt
(Ghi chú. bạn sẽ có thể tìm thấy tệp này trên máy tính của mình và mở tệp đó bằng trình soạn thảo văn bản. )
Tải mảng Numpy từ Tệp văn bản
Bây giờ, chúng tôi sẽ tải tệp trở lại môi trường Python của chúng tôi bằng Numpy loadtxt
np.loadtxt('my_numpy_data.txt')NGOÀI
array([[1., 2., 3.], [4., 5., 6.]])Như bạn có thể thấy, Numpy loadtxt đã tải dữ liệu trở lại môi trường của chúng ta dưới dạng một mảng Numpy
Cũng lưu ý rằng tất cả các số đều được định dạng là số float, đây là giá trị mặc định
Chúng tôi sẽ thay đổi định dạng số trong một trong các ví dụ trong tương lai
VÍ DỤ 2. Tải một mảng từ tệp văn bản bằng dấu phân cách cụ thể
Tiếp theo, chúng tôi sẽ tải một tệp có dấu phân cách cụ thể giữa các cột
Theo mặc định, Numpy loadtxt giả định rằng các cột được phân tách bằng khoảng trắng
Nhưng trong ví dụ này, chúng tôi sẽ tải một tệp trong đó các cột được phân tách bằng dấu phẩy
Bạn sẽ nhận thấy rằng trong , các cột được phân tách bằng dấu cách theo mặc định
Ở đây, chúng tôi sẽ thay đổi điều đó để các cột được phân tách bằng dấu phẩy
Lưu mảng Numpy vào tệp văn bản
Đầu tiên, chúng ta sẽ lưu mảng Numpy của mình vào một tệp văn bản, với các dấu phẩy ngăn cách các cột
np.savetxt('my_numpy_data.txt', my_array, delimiter = ',')Nếu bạn tìm thấy tệp này trên máy tính của mình, bạn sẽ thấy rằng các cột được phân tách bằng dấu phẩy
(Một lần nữa, nếu bạn muốn hiểu cách thức hoạt động của nó, tôi khuyên bạn nên đọc hướng dẫn của chúng tôi về Numpy savetxt. )
Tải mảng Numpy từ Tệp văn bản
Tiếp theo, chúng tôi sẽ tải tệp bằng Numpy loadtxt bằng cách sử dụng tham số import numpy as np 6 để chỉ định rằng các cột được phân tách bằng dấu phẩy
myarray_1, myarray_2 = np.loadtxt(...) 0NGOÀI
array([[1., 2., 3.], [4., 5., 6.]])Ở đây, np. loadtxt đã phân tích cú pháp dữ liệu được phân tách bằng dấu phẩy và tải dữ liệu vào một mảng Numpy
VÍ DỤ 3. Sử dụng một loại dữ liệu cụ thể cho dữ liệu đã tải
Bây giờ, chúng ta sẽ sử dụng tham số import numpy as np 4 để tải các số dưới dạng số nguyên
Lưu mảng Numpy vào tệp văn bản
Đầu tiên, chúng ta sẽ lưu mảng Numpy của mình, array([[1., 2., 3.], [4., 5., 6.]]) 1, vào một tệp văn bản với Numpy save
myarray_1, myarray_2 = np.loadtxt(...) 2Ở đây, chúng tôi đã sử dụng tham số array([[1., 2., 3.], [4., 5., 6.]]) 2 để lưu dữ liệu dưới dạng số nguyên
Tuy nhiên, nếu bạn cố tải dữ liệu bằng Numpy loadtxt, nó sẽ nhập dữ liệu dưới dạng float theo mặc định
Để khắc phục điều này, chúng ta sẽ cần sử dụng tham số import numpy as np 4
Tải mảng Numpy từ Tệp văn bản
Ở đây, chúng tôi sẽ đặt array([[1., 2., 3.], [4., 5., 6.]]) 4, điều này sẽ khiến Numpy loadtxt tải dữ liệu dưới dạng số nguyên
myarray_1, myarray_2 = np.loadtxt(...) 3NGOÀI
myarray_1, myarray_2 = np.loadtxt(...) 4Lưu ý rằng các giá trị trong mảng được tải dưới dạng số nguyên (i. e, array([[1., 2., 3.], [4., 5., 6.]]) 5s)
Và hãy nhớ. có nhiều loại dữ liệu mà bạn có thể chọn. Chúng tôi chỉ sử dụng số nguyên cho ví dụ cụ thể này
VÍ DỤ 4. Sử dụng một ký tự cụ thể để xác định nhận xét trong tệp văn bản đang được tải
Cuối cùng, hãy làm một ví dụ trong đó chúng tôi loại bỏ các nhận xét trong một tệp
Ở đây, chúng tôi sẽ sử dụng tham số import numpy as np 5 để xác định (và xóa) các dòng nhận xét trong tệp văn bản
Lưu mảng Numpy vào tệp văn bản
Đầu tiên, chúng ta cần tạo một tệp văn bản có các dòng chú thích trong đó
Để làm điều này, chúng tôi sẽ sử dụng Numpy savetxt và thêm đầu trang và chân trang với các tham số array([[1., 2., 3.], [4., 5., 6.]]) 7 và array([[1., 2., 3.], [4., 5., 6.]]) 8
Ngoài ra, chúng tôi sẽ đặt tham số import numpy as np 5 thành np.savetxt('my_numpy_data.txt', my_array, delimiter = ',') 0 để chỉ định một np.savetxt('my_numpy_data.txt', my_array, delimiter = ',') 1 chỉ định một dòng nhận xét (i. e. , dòng đầu trang và chân trang)
myarray_1, myarray_2 = np.loadtxt(...) 5Nếu bạn kiểm tra np.savetxt('my_numpy_data.txt', my_array, delimiter = ',') 2, bạn sẽ thấy đầu trang và chân trang có tiền tố là chuỗi nhận xét
myarray_1, myarray_2 = np.loadtxt(...) 6(Một lần nữa, nếu bạn muốn hiểu cách thức hoạt động của nó, tôi khuyên bạn nên đọc hướng dẫn của chúng tôi về Numpy savetxt. )
Tải mảng Numpy từ Tệp văn bản
Bây giờ, chúng tôi sẽ tải tệp bằng Numpy loadtxt
Khi chúng tôi làm điều này, chúng tôi sẽ đặt np.savetxt('my_numpy_data.txt', my_array, delimiter = ',') 3 để chỉ định rằng các dòng đầu trang và chân trang, bắt đầu bằng np.savetxt('my_numpy_data.txt', my_array, delimiter = ',') 4, là các nhận xét cần được loại bỏ
myarray_1, myarray_2 = np.loadtxt(...) 7NGOÀI
array([[1., 2., 3.], [4., 5., 6.]])Như bạn có thể thấy, khi chúng tôi chạy mã này, nó sẽ loại bỏ các dòng nhận xét đầu trang và chân trang và tải dữ liệu số vào một mảng Numpy
Câu hỏi thường gặp về Numpy Load Text
Bây giờ bạn đã tìm hiểu về Numpy loadtxt và xem một số ví dụ, hãy xem lại một số câu hỏi thường gặp về chức năng này
Các câu hỏi thường gặp
Câu hỏi 1. Làm cách nào để bạn tải tệp nhị phân thay vì tệp văn bản?
Nếu bạn muốn tải dữ liệu Numpy của mình từ tệp nhị phân thay vì tệp văn bản, bạn nên sử dụng tải Numpy
Bạn có thể đọc về Numpy Load trong hướng dẫn này
Câu hỏi 2. Làm cách nào để lưu mảng Numpy vào tệp văn bản?
Nếu bạn muốn lưu dữ liệu Numpy vào tệp văn bản (thay vì tải dữ liệu từ tệp văn bản), bạn nên sử dụng Numpy savetxt
Bạn có thể đọc về Numpy savetxt trong hướng dẫn này
Để lại câu hỏi khác của bạn trong các ý kiến dưới đâyBạn có câu hỏi nào khác về Numpy loadtxt không?
Nếu vậy, hãy để lại câu hỏi của bạn trong phần bình luận bên dưới
Tham gia khóa học của chúng tôi để tìm hiểu thêm về Numpy
Trong hướng dẫn này, tôi đã chỉ cho bạn cách sử dụng Numpy loadtxt
Numpy loadtxt rất hữu ích nếu bạn cần tải mảng Numpy từ tệp văn bản, nhưng nếu bạn thực sự muốn thành thạo thao tác dữ liệu số trong Python, bạn sẽ cần tìm hiểu thêm về Numpy
Điều đó nói rằng, nếu bạn nghiêm túc về việc học Numpy, bạn nên cân nhắc tham gia khóa học cao cấp của chúng tôi có tên là Numpy Mastery
Numpy Mastery sẽ dạy cho bạn mọi thứ bạn cần biết về Numpy, bao gồm
- Cách tạo mảng Numpy
- Làm thế nào để trục Numpy hoạt động
- Chức năng “Numpy random seed” làm gì
- Cách sử dụng các hàm ngẫu nhiên Numpy
- Cách định hình lại, tách và kết hợp các mảng Numpy của bạn
- Áp dụng các phép toán trên mảng Numpy
- và nhiều hơn nữa …
Khóa học cũng sẽ cung cấp cho bạn hệ thống thực hành độc đáo của chúng tôi. Hệ thống thực hành này sẽ cho phép bạn ghi nhớ tất cả các cú pháp Numpy mà bạn học
Nếu bạn gặp khó khăn trong việc ghi nhớ cú pháp Numpy, thì đây là khóa học bạn đang tìm kiếm
Nếu bạn thực hành như chúng tôi chỉ cho bạn, bạn sẽ ghi nhớ tất cả các cú pháp quan trọng của Numpy chỉ sau vài tuần