Python - Xử lý dữ liệu CSV

Đọc dữ liệu từ CSV (các giá trị được phân tách bằng dấu phẩy) là điều cần thiết cơ bản trong Khoa học dữ liệu. Thông thường, chúng tôi lấy dữ liệu từ nhiều nguồn khác nhau có thể được xuất sang định dạng CSV để các hệ thống khác có thể sử dụng chúng. Thư viện Panadas cung cấp các tính năng sử dụng mà chúng ta có thể đọc toàn bộ tệp CSV cũng như từng phần chỉ cho một nhóm cột và hàng đã chọn.

Nhập dưới dạng tệp CSV

Tệp csv là một tệp văn bản trong đó các giá trị trong các cột được phân tách bằng dấu phẩy. Hãy xem xét dữ liệu sau có trong tệp có têninput.csv.

Bạn có thể tạo tệp này bằng Windows notepad bằng cách sao chép và dán dữ liệu này. Lưu tệp dưới dạnginput.csv bằng cách sử dụng tùy chọn lưu dưới dạng tất cả tệp (*. *) trong notepad.

id,name,salary,start_date,dept
1,Rick,623.3,2012-01-01,IT
2,Dan,515.2,2013-09-23,Operations
3,Tusar,611,2014-11-15,IT
4,Ryan,729,2014-05-11,HR
5,Gary,843.25,2015-03-27,Finance
6,Rasmi,578,2013-05-21,IT
7,Pranab,632.8,2013-07-30,Operations
8,Guru,722.5,2014-06-17,Finance

Đọc tệp CSV

Các read_csvchức năng của thư viện gấu trúc được sử dụng để đọc nội dung của tệp CSV vào môi trường python dưới dạng DataFrame của gấu trúc. Hàm có thể đọc các tệp từ Hệ điều hành bằng cách sử dụng đường dẫn thích hợp đến tệp.

import pandas as pd
data = pd.read_csv('path/input.csv')
print (data)

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau. Vui lòng lưu ý cách một cột bổ sung bắt đầu bằng 0 làm chỉ mục đã được tạo bởi hàm.

id    name  salary  start_date        dept
0   1    Rick  623.30  2012-01-01          IT
1   2     Dan  515.20  2013-09-23  Operations
2   3   Tusar  611.00  2014-11-15          IT
3   4    Ryan  729.00  2014-05-11          HR
4   5    Gary  843.25  2015-03-27     Finance
5   6   Rasmi  578.00  2013-05-21          IT
6   7  Pranab  632.80  2013-07-30  Operations
7   8    Guru  722.50  2014-06-17     Finance

Đọc các hàng cụ thể

Các read_csvchức năng của thư viện gấu trúc cũng có thể được sử dụng để đọc một số hàng cụ thể cho một cột nhất định. Chúng tôi cắt kết quả từ hàm read_csv bằng cách sử dụng mã được hiển thị bên dưới cho 5 hàng đầu tiên cho cột có tên là lương.

import pandas as pd
data = pd.read_csv('path/input.csv')

# Slice the result for first 5 rows
print (data[0:5]['salary'])

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau.

0    623.30
1    515.20
2    611.00
3    729.00
4    843.25
Name: salary, dtype: float64

Đọc các cột cụ thể

Các read_csvchức năng của thư viện gấu trúc cũng có thể được sử dụng để đọc một số cột cụ thể. Chúng tôi sử dụng phương pháp lập chỉ mục nhiều trục được gọi là.loc()vì mục đích này. Chúng tôi chọn hiển thị cột lương và tên cho tất cả các hàng.

import pandas as pd
data = pd.read_csv('path/input.csv')

# Use the multi-axes indexing funtion
print (data.loc[:,['salary','name']])

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau.

salary    name
0  623.30    Rick
1  515.20     Dan
2  611.00   Tusar
3  729.00    Ryan
4  843.25    Gary
5  578.00   Rasmi
6  632.80  Pranab
7  722.50    Guru

Đọc các cột và hàng cụ thể

Các read_csvchức năng của thư viện gấu trúc cũng có thể được sử dụng để đọc một số cột cụ thể và hàng cụ thể. Chúng tôi sử dụng phương pháp lập chỉ mục nhiều trục được gọi là.loc()vì mục đích này. Chúng tôi chọn hiển thị cột lương và tên cho một số hàng.

import pandas as pd
data = pd.read_csv('path/input.csv')

# Use the multi-axes indexing funtion
print (data.loc[[1,3,5],['salary','name']])

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau.

salary   name
1   515.2    Dan
3   729.0   Ryan
5   578.0  Rasmi

Đọc các cột cụ thể cho một loạt các hàng

Các read_csvchức năng của thư viện gấu trúc cũng có thể được sử dụng để đọc một số cột cụ thể và một loạt các hàng. Chúng tôi sử dụng phương pháp lập chỉ mục nhiều trục được gọi là.loc()vì mục đích này. Chúng tôi chọn hiển thị cột lương và tên cho một số hàng.

import pandas as pd
data = pd.read_csv('path/input.csv')

# Use the multi-axes indexing funtion
print (data.loc[2:6,['salary','name']])

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả như sau.

salary    name
2  611.00   Tusar
3  729.00    Ryan
4  843.25    Gary
5  578.00   Rasmi
6  632.80  Pranab