Sử dụng NumPy và Pandas để Xử lý Dữ liệu - Kiểm tra Kiểu Dữ liệu/Tính Thống kê Tổng hợp/loc iloc/merge concat (Phần 2)

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

Thẻ: numpy Pandas loc iloc merge

Đăng vào ngày 16 tháng 6 lúc 01:44