Pandas là một thư viện mạnh mẽ trong Python, cung cấp các cấu trúc dữ liệu và công cụ phân tích dữ liệu linh hoạt và hiệu quả. Trong Pandas, DataFrame là cấu trúc dữ liệu chính được sử dụng để thao tác và phân tích dữ liệu. Bài viết này sẽ giới thiệu chi tiết về DataFrame trong Pandas, cách tạo và sử dụng DataFrame, cũng như các thao tác thường gặp.
Giới Thiệu Về DataFrame Pandas
Định Nghĩa
DataFrame là một cấu trúc dữ liệu hai chiều, giống như bảng tính Excel hoặc bảng SQL, chứa các hàng và cột. Mỗi cột có thể chứa các loại dữ liệu khác nhau (số, chuỗi, boolean, v.v.). DataFrame rất linh hoạt và được thiết kế để dễ dàng thao tác và phân tích dữ liệu.
Cài Đặt Pandas
Trước khi bắt đầu, bạn cần cài đặt thư viện Pandas. Bạn có thể cài đặt Pandas bằng pip:
pip install pandas
Tạo DataFrame
Tạo DataFrame Từ Danh Sách
import pandas as pd data = [ ['John', 28, 'New York'], ['Anna', 22, 'London'], ['Mike', 32, 'San Francisco'] ] df = pd.DataFrame(data, columns=['Name', 'Age', 'City']) print(df)
Kết quả:
Name Age City 0 John 28 New York 1 Anna 22 London 2 Mike 32 San Francisco
Tạo DataFrame Từ Từ Điển
import pandas as pd data = { 'Name': ['John', 'Anna', 'Mike'], 'Age': [28, 22, 32], 'City': ['New York', 'London', 'San Francisco'] } df = pd.DataFrame(data) print(df)
Kết quả:
Name Age City 0 John 28 New York 1 Anna 22 London 2 Mike 32 San Francisco
Tạo DataFrame Từ Tệp CSV
import pandas as pd df = pd.read_csv('path_to_your_file.csv') print(df.head()) # Hiển thị 5 hàng đầu tiên
Các Thao Tác Thường Gặp Với DataFrame
Truy Cập Dữ Liệu
Truy Cập Cột
import pandas as pd data = { 'Name': ['John', 'Anna', 'Mike'], 'Age': [28, 22, 32], 'City': ['New York', 'London', 'San Francisco'] } df = pd.DataFrame(data) # Truy cập cột 'Name' print(df['Name']) # Truy cập nhiều cột print(df[['Name', 'City']])
Kết quả:
0 John 1 Anna 2 Mike Name: Name, dtype: object Name City 0 John New York 1 Anna London 2 Mike San Francisco
Truy Cập Hàng
import pandas as pd data = { 'Name': ['John', 'Anna', 'Mike'], 'Age': [28, 22, 32], 'City': ['New York', 'London', 'San Francisco'] } df = pd.DataFrame(data) # Truy cập hàng thứ 0 print(df.loc[0]) # Truy cập nhiều hàng print(df.loc[[0, 2]])
Kết quả:
Name John Age 28 City New York Name: 0, dtype: object Name Age City 0 John 28 New York 2 Mike 32 San Francisco
Thay Đổi Dữ Liệu
Thêm Cột Mới
import pandas as pd data = { 'Name': ['John', 'Anna', 'Mike'], 'Age': [28, 22, 32], 'City': ['New York', 'London', 'San Francisco'] } df = pd.DataFrame(data) # Thêm cột 'Country' df['Country'] = ['USA', 'UK', 'USA'] print(df)
Kết quả:
Name Age City Country 0 John 28 New York USA 1 Anna 22 London UK 2 Mike 32 San Francisco USA
Thay Đổi Giá Trị
import pandas as pd data = { 'Name': ['John', 'Anna', 'Mike'], 'Age': [28, 22, 32], 'City': ['New York', 'London', 'San Francisco'] } df = pd.DataFrame(data) # Thay đổi giá trị của hàng 1, cột 'Age' df.at[1, 'Age'] = 23 print(df)
Kết quả:
Name Age City 0 John 28 New York 1 Anna 23 London 2 Mike 32 San Francisco
Lọc Dữ Liệu
Lọc Theo Điều Kiện
import pandas as pd data = { 'Name': ['John', 'Anna', 'Mike'], 'Age': [28, 22, 32], 'City': ['New York', 'London', 'San Francisco'] } df = pd.DataFrame(data) # Lọc các hàng mà Age lớn hơn 25 filtered_df = df[df['Age'] > 25] print(filtered_df)
Kết quả:
Name Age City 0 John 28 New York 2 Mike 32 San Francisco
Các Hàm Thường Dùng Với DataFrame
Hàm describe()
Hàm describe()
cung cấp các thống kê tóm tắt về các cột số học trong DataFrame.
import pandas as pd data = { 'Name': ['John', 'Anna', 'Mike'], 'Age': [28, 22, 32], 'City': ['New York', 'London', 'San Francisco'] } df = pd.DataFrame(data) # Thống kê tóm tắt print(df.describe())
Kết quả:
Age count 3.000000 mean 27.333333 std 5.033223 min 22.000000 25% 25.000000 50% 28.000000 75% 30.000000 max 32.000000
Hàm info()
Hàm info()
cung cấp thông tin tóm tắt về DataFrame, bao gồm số lượng các mục không bị mất (non-null) và loại dữ liệu của mỗi cột.
import pandas as pd data = { 'Name': ['John', 'Anna', 'Mike'], 'Age': [28, 22, 32], 'City': ['New York', 'London', 'San Francisco'] } df = pd.DataFrame(data) # Thông tin tóm tắt df.info()
Kết quả:
<class 'pandas.core.frame.DataFrame'> RangeIndex: 3 entries, 0 to 2 Data columns (total 3 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Name 3 non-null object 1 Age 3 non-null int64 2 City 3 non-null object dtypes: int64(1), object(2) memory usage: 200.0+ bytes
Kết Luận
DataFrame trong Pandas là một công cụ mạnh mẽ và linh hoạt để xử lý và phân tích dữ liệu. Với các thao tác như tạo, truy cập, thay đổi và lọc dữ liệu, DataFrame giúp bạn dễ dàng làm việc với dữ liệu một cách hiệu quả. Hãy bắt đầu thực hành với các ví dụ trên để làm quen và nắm vững kỹ năng sử dụng DataFrame trong Python.
Tham Khảo
- Pandas Documentation
- Real Python – Pandas DataFrame
- W3Schools – Pandas DataFrame
- GeeksforGeeks – Pandas DataFrame
Những nguồn tham khảo này sẽ cung cấp thêm kiến thức và công cụ để bạn nâng cao kỹ năng của mình trong việc sử dụng Pandas và DataFrame.