CSV là viết tắt của 'Giá trị được phân tách bằng dấu phẩy'. Điều đó có nghĩa là dữ liệu (giá trị) trong tệp CSV được phân tách bằng dấu phân cách i. e. , dấu phẩy. Dữ liệu trong tệp CSV được lưu trữ ở định dạng bảng với phần mở rộng là. csv. Nói chung, các tệp CSV được sử dụng với bảng tính Google hoặc trang tính Microsoft Excel. Tệp CSV chứa một số bản ghi có dữ liệu trải rộng trên các hàng và cột. Trong bài viết này, chúng ta sẽ trực quan hóa dữ liệu từ tệp CSV bằng Python
Để trích xuất dữ liệu trong tệp CSV, mô-đun CSV phải được nhập vào chương trình của chúng tôi như sau
import csv with open('file.csv') as File: Line_reader = csv.reader(File)Đây, csv. hàm reader( ) dùng để đọc chương trình sau khi nhập thư viện CSV
ví dụ 1. Trực quan hóa cột của những người khác nhau thông qua biểu đồ thanh
Tệp CSV bên dưới chứa tên người, giới tính và tuổi khác nhau được lưu dưới dạng 'chỉ số sinh học. csv'
Cách tiếp cận của chương trình
- Nhập các thư viện cần thiết, thư viện matplotlib để trực quan hóa và thư viện CSV để đọc dữ liệu CSV
- Mở tệp bằng hàm open() với chế độ 'r' (chỉ đọc) từ thư viện CSV và đọc tệp bằng csv. chức năng đọc ( )
- Đọc từng dòng trong tệp bằng vòng lặp for
- Nối các cột bắt buộc vào danh sách
- Sau khi đọc toàn bộ tệp CSV, hãy vẽ dữ liệu cần thiết dưới dạng trục X và Y
- Trong ví dụ này, chúng tôi đang vẽ tên theo trục X và tuổi theo trục Y
Dưới đây là việc thực hiện
Python3
import matplotlib.pyplot as plt
import csv
x= []
Index(['Unnamed: 0', 'Private', 'Apps', 'Accept', 'Enroll', 'Top10perc', 'Top25perc', 'F_Undergrad', 'P_Undergrad', 'Outstate', 'Room_Board', 'Books', 'Personal', 'PhD', 'Terminal', 'S_F_Ratio', 'perc_alumni', 'Expend', 'Grad_Rate'], dtype='object')0= []
import3______24import5import6import7import8import9
matplotlib.pyplot as plt0matplotlib.pyplot as plt1= matplotlib.pyplot as plt3= matplotlib.pyplot as plt5matplotlib.pyplot as plt6
matplotlib.pyplot as plt7
matplotlib.pyplot as plt0matplotlib.pyplot as plt9 import0import1 import2
import3import4import5import6
import3______28import9csv0csv1csv2
csv4= csv6csv7= csv9 0= 2matplotlib.pyplot as plt6
4 5matplotlib.pyplot as plt6
7 8matplotlib.pyplot as plt6
x0x1matplotlib.pyplot as plt6
x3
x4
đầu ra
ví dụ 2. Trực quan hóa Báo cáo thời tiết vào các ngày khác nhau” cốt truyện xuyên dòng
Nhiệt độ (°C) vào các ngày khác nhau được lưu trữ trong tệp CSV dưới dạng 'Dữ liệu thời tiết. csv'. Hai hàng 'Ngày' và 'Nhiệt độ (°C )' này được sử dụng làm trục X và Y để hiển thị các báo cáo thời tiết
Index(['Unnamed: 0', 'Private', 'Apps', 'Accept', 'Enroll', 'Top10perc', 'Top25perc', 'F_Undergrad', 'P_Undergrad', 'Outstate', 'Room_Board', 'Books', 'Personal', 'PhD', 'Terminal', 'S_F_Ratio', 'perc_alumni', 'Expend', 'Grad_Rate'], dtype='object')Bước đầu tiên trong phân tích dữ liệu là nhập dữ liệu vào Python pandas DataFrame. Và sau đó khám phá và làm sạch nó
Một số thủ thuật có thể được sử dụng trong khi tải dữ liệu vào DataFrame để giảm công việc sau
Trong 3 phút này, bạn sẽ thành thạo 3 cách sử dụng 6 hiệu quả. 💡
Để trình diễn, tôi đang sử dụng Bộ dữ liệu FIFA 2021 từ Kaggle. Xem trước tập dữ liệu ở đây
Bộ dữ liệu FIFA 2021. Hình ảnh của tác giả
Hãy cùng khám phá cách nhập tệp này hiệu quả bằng cách sử dụng 7
1. sử dụng
Tham số 8 trong 7 cực kỳ hữu ích để chỉ tải các cột cụ thể từ tập dữ liệu csv
Đây là sự so sánh trực tiếp về thời gian của x0 khi có và không có 8
gấu trúc. read_csv() usecols. Hình ảnh của tác giả
nhập khẩu. csv sang pandas DataFrame bằng cách sử dụng 8 là ⚡️ 2. Nhanh gấp 4 lần ⚡️ so với nhập toàn bộ tập dữ liệu
Thay vì nhập toàn bộ tập dữ liệu và sau đó xóa các cột không cần thiết, tốt nhất là chỉ tải dữ liệu cần thiết
2. cỡ khốiPhương pháp hiệu quả để tải các tập dữ liệu lớn là tải nó thành từng phần nhỏ. e. Miếng, mảnh nhỏ. 💡
Các bộ dữ liệu lớn là những bộ có kích thước tính bằng GB và các hàng có số lượng trên 100 nghìn, thường mất nhiều thời gian để tải trong Pandas DataFrame
pandas read_csv() chunksize. Hình ảnh của tác giả
So sánh trực tiếp cho thấy sử dụng x3 nhanh hơn nhiều so với nhập dữ liệu thông thường
Nhưng có một nhược điểm. ⚠️
Bao gồm tham số x3 trong 7 trả về một đối tượng 70 để lặp lại. ♻️
pandas read_csv() chunksize. Hình ảnh của tác giả
Và sau đó, bạn cần sử dụng 71 để tập hợp tất cả các khối lại với nhau để tạo thành một Khung dữ liệu hoàn chỉnh. Điều này có thể được thực hiện như dưới đây,
Nối tất cả các khối trong pandas DataFrame. Hình ảnh của tác giả
Điều này chắc chắn làm cho dữ liệu tải theo khối chậm hơn so với đọc trực tiếp toàn bộ tập dữ liệu, nhưng nó hiệu quả khi tải các tệp lớn tới 10 GB
3. parse_datesthông thường, các cột có dữ liệu ngày-giờ được nhập dưới dạng Đối tượng hoặc Chuỗi. Và chúng ta cần thay đổi kiểu dữ liệu của nó theo cách thủ công sau đó
Bạn nên đề cập đến cột nào chứa dữ liệu ngày-giờ trong chính ________ 70 bằng cách sử dụng tham số ________ 673
gấu trúc. read_csv() parse_dates. Hình ảnh của tác giả
🚩 khi nhiều cột chứa dữ liệu ngày giờ, thì chỉ cần chuyển tất cả các tên cột dưới dạng danh sách tới 73
3 (và một nửa). Tạo một cột ngày từ các cột ngày-tháng-năm riêng biệtKhi dữ liệu ngày được trải rộng trên nhiều cột, nó cũng có thể được kết hợp với nhau để tạo thành một cột duy nhất có giá trị ngày
gấu trúc. read_csv(). Hình ảnh của tác giả
Chuyển tên cột dưới dạng danh sách tới 73 để tạo một cột duy nhất có giá trị ngày
gấu trúc. read_csv() parse_dates. Hình ảnh của tác giả
🚩 Trình tự kết hợp các cột để tạo thành cột ngày mặc định là 76
Tổng hợp,
Nắm vững các thủ thuật này và sử dụng chúng một cách khôn ngoan, bạn có thể giảm bớt công việc làm sạch dữ liệu và giúp phân tích dữ liệu nhanh hơn
Tương tự như nhập dữ liệu theo khối, bạn có thể học các kỹ năng khoa học dữ liệu theo khối và Phương tiện là nơi tốt nhất cho việc đó
Bạn có thể có toàn quyền truy cập vào Phương tiện bằng liên kết giới thiệu của tôi bên dưới và đọc nội dung tuyệt vời như vậy được chia sẻ bởi tôi và hàng nghìn người khác. Khi bạn tham gia với liên kết của tôi, tôi sẽ nhận được một phần nhỏ phí thành viên của bạn dưới dạng hỗ trợ mà bạn không phải trả bất kỳ chi phí nào