Phân tích dữ liệu csv python

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

  1. 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
  2. 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 ( )
  3. Đọc từng dòng trong tệp bằng vòng lặp for
  4. Nối các cột bắt buộc vào danh sách
  5. 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
  6. 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ối

Phươ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_dates

thô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ệt

Khi 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

Chủ đề