Pandas có lẽ là công cụ tốt nhất để phân tích dữ liệu trong thế giới thực bằng Python. Nó cho phép chúng tôi làm sạch dữ liệu, sắp xếp lại dữ liệu, trực quan hóa và hơn thế nữa
Bạn có thể coi Pandas như một Microsoft Excel tăng áp. Hầu hết các tác vụ bạn có thể thực hiện trong Excel cũng có thể được thực hiện trong Pandas và ngược lại. Điều đó nói rằng, có nhiều lĩnh vực mà Pandas vượt trội hơn Excel
Trong phần giới thiệu về Pandas này, chúng ta sẽ so sánh khung dữ liệu Pandas và Bảng tính Excel, tìm hiểu các cách khác nhau để tạo khung dữ liệu và cách tạo bảng tổng hợp
Ghi chú. Trước khi học Pandas, bạn nên biết ít nhất những điều cơ bản về Python. Nếu bạn chưa quen với Python, hãy xem hướng dẫn này mà tôi đã tạo để bắt đầu với Python ngay lập tức
Table of Contents
1. Why Excel Users Should Learn Python/Pandas
2. Pandas DataFrames & Excel Spreadsheets
3. How to Create a Dataframe
- Creating a dataframe by reading an Excel/CSV file
- Creating a dataframe with arrays
- Creating a dataframe with a dictionary
Tại sao người dùng Excel nên học Python/PandasCác tác vụ như làm sạch dữ liệu, chuẩn hóa dữ liệu, trực quan hóa và phân tích thống kê có thể được thực hiện trên cả Excel và Pandas. Điều đó nói rằng, Pandas có một số lợi ích lớn hơn Excel. Đến tên một vài
- Giới hạn theo kích thước. Excel có thể xử lý khoảng 1 triệu hàng, trong khi Python có thể xử lý hàng triệu triệu hàng [giới hạn là về sức mạnh tính toán của PC]
- Chuyển đổi dữ liệu phức tạp. Tính toán sử dụng nhiều bộ nhớ trong Excel có thể làm hỏng sổ làm việc. Python có thể xử lý các tính toán phức tạp mà không gặp vấn đề lớn nào
- tự động hóa. Excel không được thiết kế để tự động hóa các tác vụ. Bạn có thể tạo macro hoặc sử dụng VBA để đơn giản hóa một số tác vụ, nhưng đó là giới hạn. Tuy nhiên, Python có thể vượt xa điều đó với hàng trăm thư viện miễn phí có sẵn
- Khả năng đa nền tảng. Trên Excel, bạn có thể tìm thấy một số điểm không tương thích giữa các công thức trong Windows và macOS. Điều này cũng xảy ra khi chia sẻ tệp Excel với những người không sử dụng tiếng Anh làm ngôn ngữ mặc định trên phiên bản Microsoft Excel của họ. Ngược lại, mã Python vẫn giữ nguyên bất kể hệ điều hành hay ngôn ngữ được đặt trên máy tính
Trước khi chỉ cho bạn cách thay thế Excel bằng Pandas [tạo bảng tổng hợp, trực quan hóa, v.v.], tôi sẽ giải thích cho bạn các khái niệm cốt lõi của Pandas. Xuyên suốt hướng dẫn này, tôi sẽ đề cập đến Excel để cung cấp một số ví dụ và so sánh nó với Pandas. Excel là bảng tính phổ biến nhất, vì vậy một số phép loại suy sẽ giúp bạn nắm bắt các khái niệm Pandas nhanh chóng
Bắt đầu nào
Pandas DataFrames sang bảng tính ExcelHai cấu trúc dữ liệu chính trong Pandas là chuỗi và khung dữ liệu. Đầu tiên là mảng 1 chiều, trong khi thứ hai là mảng 2 chiều
Hình ảnh của tác giả
Trong Pandas, chúng tôi chủ yếu làm việc với các khung dữ liệu. Khung dữ liệu Pandas tương đương với bảng tính Excel. Pandas dataframes - giống như bảng tính Excel - có 2 chiều hoặc trục
Một khung dữ liệu có các hàng và cột [còn được gọi là chuỗi]. Trên đầu khung dữ liệu, bạn sẽ thấy tên của các cột và ở phía bên trái, có chỉ mục. Theo mặc định, chỉ mục trong Pandas bắt đầu bằng 0
Giao điểm của một hàng và một cột được gọi là giá trị dữ liệu hoặc đơn giản là dữ liệu. Chúng ta có thể lưu trữ các loại dữ liệu khác nhau như số nguyên, chuỗi, boolean, v.v.
Đây là hình ảnh của khung dữ liệu hiển thị các tiểu bang của Hoa Kỳ được xếp hạng theo dân số. Tôi sẽ chỉ cho bạn mã để tạo một khung dữ liệu như thế này sau, nhưng bây giờ hãy phân tích khung dữ liệu này
Hình ảnh của tác giả
Tên cột [tiểu bang, dân số và bưu chính] còn được gọi là đối tượng địa lý, trong khi mỗi giá trị hàng được gọi là quan sát. Chúng ta có thể nói rằng có 3 tính năng và 4 quan sát
Hãy nhớ rằng một cột phải có cùng loại dữ liệu. Trong ví dụ của chúng tôi, các cột states
và postal
chỉ chứa các chuỗi, trong khi cột dân số chỉ chứa các số nguyên. Chúng tôi có thể gặp lỗi khi cố gắng chèn các loại dữ liệu khác nhau vào một cột, vì vậy hãy tránh làm điều này
Tóm lại, đây là bản dịch thuật ngữ giữa Pandas và Excel
Cho đến nay, chúng ta chưa nói nhiều về các ô trống, nhưng thật tốt khi bạn biết rằng trong Python, dữ liệu bị thiếu được biểu thị bằng
import pandas as pd
df_gdp = pd.read_csv['gdp.csv']
df_gdp
0, viết tắt của “Không phải là số”. Bất cứ khi nào có một giá trị trống trong khung dữ liệu, bạn sẽ thấy import pandas as pd
df_gdp = pd.read_csv['gdp.csv']
df_gdp
0Cách tạo một khung dữ liệuCó nhiều cách để tạo một khung dữ liệu. Chúng ta có thể tạo một khung dữ liệu bằng cách đọc tệp Excel/CSV, sử dụng mảng và cả từ điển
Nhưng trước khi tạo một khung dữ liệu, hãy đảm bảo rằng bạn đã cài đặt Python và Pandas. Trong trường hợp bạn chưa quen với Python, bạn có thể cài đặt nó bằng cách xem video này
Để cài đặt Pandas, hãy chạy lệnh
import pandas as pd
df_gdp = pd.read_csv['gdp.csv']
df_gdp
2trên thiết bị đầu cuối hoặc dấu nhắc lệnh. Trong trường hợp bạn có Jupyter Notebook, bạn có thể cài đặt nó từ một ô mã bằng cách chạy import pandas as pd
df_gdp = pd.read_csv['gdp.csv']
df_gdp
3Tạo khung dữ liệu bằng cách đọc tệp Excel/CSV
Đây chắc chắn là cách dễ nhất để tạo một khung dữ liệu trong Pandas. Chúng ta chỉ cần nhập pandas, sử dụng phương thức read_csv[] và viết tên của tệp Excel/CSV trong ngoặc đơn
Hãy đọc một tệp CSV chứa dữ liệu về GDP của các quốc gia trên thế giới [Bạn có thể tìm thấy tệp này tại liên kết này]
import pandas as pd
df_gdp = pd.read_csv['gdp.csv']
df_gdp
Trong đoạn mã trên, chúng tôi đã đổi tên gấu trúc thành “pd. ” Đây chỉ là quy ước đặt tên cho gấu trúc. Sau khi chạy đoạn mã trên, bạn sẽ thấy khung dữ liệu sau
Hình ảnh của tác giả
Đó là tất cả những gì bạn cần để tạo một khung dữ liệu. Bây giờ bạn có thể bắt đầu tạo bảng tổng hợp từ khung dữ liệu này bằng cách xem video hướng dẫn của tôi bên dưới
Tạo một khung dữ liệu với các mảng
Để tạo một khung dữ liệu với các mảng, trước tiên chúng ta cần nhập Numpy. Hãy nhập thư viện này và tạo một mảng với các số ngẫu nhiên
import numpy as np
data = np.array[[[1, 4], [2, 5], [3, 6]]]
Điều đó nói rằng, nếu bạn chưa cảm thấy thoải mái khi làm việc với Numpy, bạn có thể tạo các mảng giống nhau bằng cách sử dụng ký hiệu danh sách. Kết quả sẽ giống nhau khi tạo khung dữ liệu trong bước tiếp theo
data = [[1, 4], [2, 5], [3, 6]]
Để tạo một khung dữ liệu, chúng tôi nhập gấu trúc và sử dụng phương thức
import pandas as pd
df_gdp = pd.read_csv['gdp.csv']
df_gdp
4. Bên trong dấu ngoặc đơn, chúng ta có thể thêm các đối số import pandas as pd
df_gdp = pd.read_csv['gdp.csv']
df_gdp
5 và import pandas as pd
df_gdp = pd.read_csv['gdp.csv']
df_gdp
6 để gán tênimport pandas as pd
df = pd.DataFrame[data, index=['row1', 'row2', 'row3'],
columns=['col1', 'col2']]
import pandas as pd
df_gdp = pd.read_csv['gdp.csv']
df_gdp
7 là tên tiêu chuẩn cho một khung dữ liệu. Nếu chúng tôi in đối tượng import pandas as pd
df_gdp = pd.read_csv['gdp.csv']
df_gdp
7 này, chúng tôi sẽ nhận được như sauHình ảnh của tác giả
Tạo một khung dữ liệu với một từ điển
Chúng tôi cũng có thể tạo một khung dữ liệu từ một từ điển. Đây là lựa chọn yêu thích của tôi vì từ điển cho phép chúng tôi tổ chức dữ liệu hợp lý. Như bạn có thể nhớ, một từ điển được tạo thành từ một khóa và một giá trị. Chúng ta có thể đặt danh sách làm giá trị dữ liệu và khóa làm tên của cột
Hãy tạo khung dữ liệu dân số mà chúng ta đã thấy trước khi sử dụng từ điển. Đầu tiên, chúng ta tạo 2 danh sách. bang và dân số
# data used for the example [stored in lists]
states = ["California", "Texas", "Florida", "New York"]
population = [39613493, 29730311, 21944577, 19299981]
Bây giờ, chúng tôi tạo một từ điển đặt các chuỗi_______1_______9 và
import numpy as np
data = np.array[[[1, 4], [2, 5], [3, 6]]]
0 làm khóa và các danh sách được tạo trước đó làm giá trị dữ liệu# Storing lists within a dictionary
dict_states = {'States': states, 'Population': population}
Sau khi từ điển được tạo, việc tạo một khung dữ liệu cũng dễ dàng như sử dụng phương pháp
import pandas as pd
df_gdp = pd.read_csv['gdp.csv']
df_gdp
4, nhưng lần này chúng ta không cần chỉ định đối số cột vì nó đã được chỉ định trong các khóadf_population = pd.DataFrame[dict_states]
Nếu bạn in
import numpy as np
data = np.array[[[1, 4], [2, 5], [3, 6]]]
2, bạn sẽ nhận được khung dữ liệu nàyHình ảnh của tác giả
Tham gia danh sách email của tôi với hơn 3 nghìn người để nhận Python for Data Science Cheat Sheet mà tôi sử dụng trong tất cả các hướng dẫn của mình [PDF miễn phí]
Nếu bạn thích đọc những câu chuyện như thế này và muốn hỗ trợ tôi với tư cách là một nhà văn, hãy cân nhắc đăng ký để trở thành thành viên Medium. Đó là 5 đô la một tháng, cho phép bạn truy cập không giới hạn vào hàng nghìn hướng dẫn về Python và các bài báo về Khoa học dữ liệu. Nếu bạn đăng ký bằng liên kết của tôi, tôi sẽ kiếm được một khoản hoa hồng nhỏ mà bạn không phải trả thêm phí