Tạo và Đổi tên DataFrame
du_lieu = pd.DataFrame(np.arange(25).reshape(5,5), index=list('abcde'), columns=list('ABCDE'))
bang_cuoi = bang_cuoi.rename(columns={'ten_thuong_hieu': 'thuong_hieu'})
Kiểu dữ liệu trong DataFrame
Chỉ định kiểu dữ liệu khi đọc Excel/CSV
tam_thu = pd.read_excel('sft_data/du_lieu_kiem_tra.xlsx', dtype={'ma_id': str})
Chuyển đổi kiểu dữ liệu cột
bang_cot['cot_1'] = bang_cot['cot_1'].astype(float)
Xem toàn bộ DataFrame
bang_cot.dtypes
Xem kiểu dữ liệu của một cột cụ thể
tam_thu['co_duoc_thuong_hieu'].dtype
Tính toán thống kê tổng hợp
hàm df.count() đếm số lượng giá trị không null trong mỗi cột, các hàm khác bao gồm df.sum(), df.mean(), df.median()...
bang_cot[["Tuoi", "Gia_ve"]].describe() Tuoi Gia_ve count 714.000000 891.000000 mean 29.699118 32.204208 std 14.526497 49.693429 min 0.420000 0.000000 25% 20.125000 7.910400 50% 28.000000 14.454200 75% 38.000000 31.000000 max 80.000000 512.329200
Sử dụng iloc và loc trong DataFrame
loc: Sử dụng khi chọn hàng và/hoặc cột bằng tên
nguoi_lon = du_lieu_titanic.loc[du_lieu_titanic["Tuoi"] > 35, "Ho_ten"]
iloc: Sử dụng khi chọn hàng và/hoặc cột bằng vị trí trong bảng
du_lieu_titanic.iloc[9:25, 2:5]
Ví dụ thực tế
Lấy dữ liệu của hàng có chỉ số 'a'
# Cách sử dụng loc
# du_lieu.loc['a'] tương đương với du_lieu.loc['a', :]
du_lieu.loc['a']
# Kết quả:
A 0
B 1
C 2
D 3
E 4
Name: a, dtype: int32
# Cách sử dụng iloc: hàng có chỉ số a là hàng đầu tiên
du_lieu.iloc[0]
# Kết quả:
A 0
B 1
C 2
D 3
E 4
Name: a, dtype: int32
Xóa cột trong DataFrame
# Xóa hàng đầu tiên bằng chỉ số
bang_cot.drop([0])
# Xóa một cột duy nhất bằng tên
bang_cot.drop(['ma_id'], axis=1)
# Xóa nhiều hàng bằng chỉ số, không thể viết 0:2
bang_cot.drop([0, 1])
# Xóa nhiều cột bằng tên
bang_cot.drop(labels=['ma_id','lop'], axis=1)
Nối DataFrame
merge
du_lieu_chinh = pd.merge(
du_lieu_chinh,
bo_sung_ten_thuong_hieu[['thuong_hieu', 'ten_thuong_hieu_cuoi']],
left_on='ten_thuong_hieu',
right_on='thuong_hieu',
how='left'
)
du_lieu_chinh = pd.merge(
du_lieu_chinh,
du_lieu_thuong_hieu[['ten_thuong_hieu','danh_muc_dau','ten_thuong_hieu_cuoi','ten_thuong_hieu_bu']],
left_on=['ten_thuong_hieu','danh_muc_dau'],
right_on=['ten_thuong_hieu','danh_muc_dau'],
how='inner'
)
concat
# Thêm vào DataFrame tổng
tat_ca_du_lieu = pd.concat([tat_ca_du_lieu, du_lieu_da_xu_ly], ignore_index=True)
Tham khảo
Giải thích chi tiết cách dùng loc và iloc trong Pandas - Blog CSDN