Pandas là thư viện Python mạnh mẽ giúp xử lý dữ liệu dạng bảng một cách hiệu quả. Nếu bạn mới bắt đầu với Pandas, bài viết này sẽ cung cấp bảng tóm tắt các đoạn code Pandas thường dùng, giúp bạn tra cứu nhanh chóng. Hãy lưu lại bài viết để tiện sử dụng khi cần.
pandas dataframe
Mở Đầu
Bạn có thể dễ dàng tra cứu code bằng cách sử dụng chức năng tìm kiếm (Ctrl + F hoặc ⌘ + F trên Mac). Trước khi bắt đầu, hãy import các thư viện cần thiết:
import pandas as pd
import numpy as np
Trong bài viết, chúng ta sẽ sử dụng các biến viết tắt sau:
df
: DataFrame trong Pandass
: Series trong Pandas
Đọc Dữ Liệu với Pandas
Pandas hỗ trợ đọc dữ liệu từ nhiều nguồn khác nhau:
Đọc file CSV
pd.read_csv(filename)
Đọc file TSV
pd.read_table(filename)
Đọc file Excel
pd.read_excel(filename)
Đọc từ cơ sở dữ liệu SQL
pd.read_sql(query, connection_object)
Đọc từ JSON
pd.read_json(json_string)
Đọc từ HTML
pd.read_html(url)
Đọc từ Clipboard
pd.read_clipboard()
Nội dung Clipboard sẽ được truyền vào read_table()
.
Đọc từ Dictionary Python
pd.DataFrame(dict)
Xuất Dữ Liệu với Pandas
Pandas cũng cho phép xuất dữ liệu sang nhiều định dạng:
Xuất sang CSV
df.to_csv(filename)
Xuất sang Excel
df.to_excel(filename)
Xuất sang SQL
df.to_sql(table_name, connection_object)
Xuất sang JSON
df.to_json(filename)
Tạo Dữ Liệu Test
Bạn có thể tạo dữ liệu test bằng Numpy:
Tạo DataFrame với Numpy
pd.DataFrame(np.random.rand(23,4))
Code này tạo DataFrame 23 dòng, 4 cột với giá trị ngẫu nhiên.
Tạo Series từ List
pd.Series(my_list)
Tạo Index dạng ngày tháng
df.index = pd.date_range('1999/1/31', periods=df.shape[0])
Xem và Kiểm Tra Dữ Liệu
Xem n dòng đầu
df.head(n)
Xem n dòng cuối
df.tail(n)
Lấy kích thước DataFrame
df.shape
Xem thông tin DataFrame
df.info()
Thống kê mô tả
df.describe()
Đếm giá trị duy nhất (Series)
s.value_counts(dropna=False)
Đếm giá trị duy nhất (DataFrame)
df.apply(pd.Series.value_counts)
pandas series
Trích Xuất Dữ Liệu
Lấy một cột (Series)
df[col]
Lấy nhiều cột (DataFrame)
df[[Col1, Col2]]
Lấy theo vị trí (Series)
s.iloc[0]
Lấy theo index (Series)
s.loc['index_one']
Lấy dòng đầu tiên
df.iloc[0,:]
Lấy phần tử dòng 1, cột 1
df.iloc[0,0]
Làm Sạch Dữ Liệu
Đổi tên cột
df.columns = ['a','b','c']
Kiểm tra giá trị null
pd.isnull()
Kiểm tra giá trị khác null
pd.notnull()
Xóa dòng có null
df.dropna()
Xóa cột có null
df.dropna(axis=1)
Xóa dòng có nhiều hơn n giá trị null
df.dropna(axis=1, thresh=n)
Thay null bằng x
df.fillna(x)
Thay null bằng mean
s.fillna(s.mean())
Chuyển kiểu dữ liệu sang float
s.astype(float)
Thay giá trị
s.replace(1,'one')
Thay nhiều giá trị
s.replace([1,3],['one','three'])
Đổi tên cột với lambda
df.rename(columns=lambda x: x + 1)
Đổi tên cột cụ thể
df.rename(columns={'old_name': 'new_name'})
Đặt index
df.set_index('column_one')
Đổi tên index với lambda
df.rename(index=lambda x: x + 1)
Lọc, Sắp Xếp, Nhóm Dữ Liệu
Lọc dữ liệu
df[df[col] > 5]
df[(df[col] > 100) & (df[col] < 200)]
Sắp xếp dữ liệu
df.sort_values(col1)
df.sort_values(col2, ascending=False)
df.sort_values([col1,col2],ascending=[True,False])
Nhóm dữ liệu
df.groupby(col1)
Pivot Table
df.pivot_table(index=col1,values=[col2,col3],aggfunc='mean')
Tính mean tất cả cột
df.apply(np.mean)
Tính max mỗi dòng
df.apply(np.max,axis=1)
nhom du lieu pandas
Nối và Gộp Dữ Liệu
Nối theo chiều dọc
df1.append(df2)
Nối theo chiều ngang
pd.concat([df1, df2],axis=1)
Join kiểu SQL
df1.join(df2,on=col1,how='inner')
Thống Kê Dữ Liệu
Thống kê mô tả
df.describe()
Tính mean
df.mean()
Tính correlation
df.corr()
Đếm giá trị khác null
df.count()
Tìm giá trị lớn nhất
df.max()
Tìm giá trị nhỏ nhất
df.min()
Tìm median
df.median()
Tìm độ lệch chuẩn
df.std()
Kết Luận
Bài viết này đã tổng hợp các đoạn code Pandas Python hữu ích cho việc xử lý dữ liệu bảng. Hy vọng bài viết sẽ giúp bạn làm việc hiệu quả hơn với Pandas. Hãy khám phá thêm các tài nguyên khác để nâng cao kỹ năng Pandas của bạn! Tìm hiểu thêm về cách tối ưu công việc với Python và Excel.
Discussion about this post