images
17/02/2021 02:51 am

Làm quen việc Xử lý dữ liệu với Pandas - Phần 2: Các ví dụ cơ bản

Dưới đây Tech Zone sẽ đưa ra các ví dụ cơ bản để làm quen việc Xử lý dữ liệu với Pandas:

Sort dữ liệu

1. Sort theo 1 column

Document: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sort_values.html


Ví dụ với trường sort theo TOTAL


 df.sort_values(by='TOTAL')



2. Sort theo thứ tự ngược lại

df.sort_values(by='TOTAL', ascending=False)



3. Sort theo nhiều trường

df.sort_values(by=['QUANTITY','TOTAL'])

4. Sort nhiều trường theo thứ tự khác nhau

df.sort_values(by=['QUANTITY','TOTAL'], ascending=[True, False])

Filter dữ liệu

1. Filter lấy ra các cột của dataframe

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.filter.html


df.filter(items=['USER_ID', 'TAX'])


2. Filter lấy ra các cột theo regular expression

df.filter(regex='T$', axis=1)

      


3. Filter các row chứa ký tự 

df.filter(like='bbi', axis=0)


4. Filter các row theo biểu thức so sánh

Ví dụ lấy tất cả các order có TOTAL lớn hơn 100


df[df['TOTAL'] > 100] 


5. Filter theo một hàm tự định nghĩa

def custom(tax, total):

    return ( total - tax > 100)


df[custom(df['TAX'], df['TOTAL'])]

Group dữ liệu

1. Group lại để tính sum, mean, min, max, median

Ví dụ chúng ta cần nhóm các order lại theo từng khách hàng và lấy ra các thống kê cơ bản:


df.groupby(['USER_ID']).sum()



df.groupby(['USER_ID']).min()


df.groupby(['USER_ID']).max()

df.groupby(['USER_ID']).mean()

df.groupby(['USER_ID']).median()

2. Group, tổng hợp theo một hàm tự định nghĩa

Chẳng hạn group lại theo USER_ID và lấy ra tổng 10 bản ghi đầu tiên


def custom_aggregate(series):

    return series.head(10).sum()


df.groupby(['USER_ID']).agg(custom_aggregate)


Trên đây là một vài ví dụ rất cơ bản trong việc sử dụng pandas. Tuy đơn giản nhưng nó cũng có thể giải quyết được một số các bài toán trong biz. Chẳng hạn như bài toán Phân lớp khách hàng dựa trên model RFM


- Tech Zone -

Thư giãn chút nào!!!

Bài viết liên quan