Professional Documents
Culture Documents
Lecture 3-Pandas 2
Lecture 3-Pandas 2
3 4
1. I/O – Đọc/ghi dữ liệu 1. I/O – Đọc/ghi dữ liệu
Ví dụ:
File csv
Syntax of read_csv:
Syntax: pd.read_csv(filepath_or_buffer, sep=’ ,’ , header=’infer’,
index_col=None, usecols=None, nrows=None, encoding=’utf-8’)
Kết quả trả về: DataFrame ‘D:/supermarket.csv’
5 6
7 8
1. I/O – Đọc/ghi dữ liệu 1. I/O – Đọc/ghi dữ liệu
File excel Ví dụ:
Cài thư viện: pip install xlrd
Đọc file chỉ có một sheet:
Syntax: pd.read_excel (đường_dẫn_tên_tập_tin,
encoding=`utf-8`, index_col=index_cột, nrows =
số_lượng_dòng…)
• Kết quả trả về: DataFrame
9 10
11 12
1. I/O – Đọc/ghi dữ liệu 1. I/O – Đọc/ghi dữ liệu
Ghi file: Kiểm tra kiểu dữ liệu các cột
df.to_excel (đường_dẫn_tên_tập_tin, “tên sheet”)
• Ví dụ:
13 14
17 18
19 20
2. Làm sạch dữ liệu 2. Làm sạch dữ liệu
Xóa bỏ dòng dữ liệu có chứa NaN: df.dropna (axis=0 hoặc 1) Xóa bỏ dòng dữ liệu trùng
• Ví dụ • Ví dụ:
21 22
25 26
29 30
31 32
3. Trực quan hóa dữ liệu 3. Trực quan hóa dữ liệu
Pie Ví dụ:
Là dạng biểu đồ tròn mà mỗi giá trị là một
miếng của biểu đồ tròn đó.
Tạo pie của data frame columns:
df.plot.pie()
33 34
37 38
4. Phương thức thao tác dữ liệu 4. Phương thức thao tác dữ liệu
Xóa cột Nhóm dữ liệu và tổng hợp – Groupby
Group by:
Xóa dòng
39 40
4. Phương thức thao tác dữ liệu 4. Phương thức thao tác dữ liệu
Groupby Common Aggregation functions in Pandas
By groupby we are referring to process involving mean(): compute mean of groups
one or more of the following steps: sum()
Splitting the data into groups based on some size()
criteria count()
Applying a function to each group std()
independently var()
Combining the results into a data structure …
41 42
4. Phương thức thao tác dữ liệu 4. Phương thức thao tác dữ liệu
Groupby Groupby
43 44
4. Phương thức thao tác dữ liệu 4. Phương thức thao tác dữ liệu
Groupby Pivot table
45 46
4. Phương thức thao tác dữ liệu 4. Phương thức thao tác dữ liệu
Pivot table: Analysis, statistics, reports and summary Pivot table
Syntax: pandas.pivot_table(data, values=None, index = None,
Rows -> Index=[col_1, col_2,…] columns=None, aggfunc=‘name of function’, fill_value=None,
margins=False, dropna=True, margins_name=‘All’, sort=True)
Filters
47 48
4. Phương thức thao tác dữ liệu 4. Phương thức thao tác dữ liệu
49 50
4. Phương thức thao tác dữ liệu 4. Phương thức thao tác dữ liệu
value tính
51 52
4. Phương thức thao tác dữ liệu 4. Phương thức thao tác dữ liệu
53 54
4. Phương thức thao tác dữ liệu 4. Phương thức thao tác dữ liệu
55 56
4. Phương thức thao tác dữ liệu Nội dung
Apply 1. I/O – Đọc/ghi dữ liệu
Duyt theo tng dòng d liu: step by step 2. Làm sạch dữ liệu
3. Trực quan hóa dữ liệu
4. Phương thức thao tác dữ liệu (pivot)
5. Gộp dữ liệu
6. Phương thức thao tác trên chuỗi
7. Phương thức thao tác trên Timestamps
8. Tổng kết
57 58
59 60
5. Gộp dữ liệu 5. Gộp dữ liệu
Nối dữ liệu: df1._append (df2) Merge: df.merge (df1,df2, how=‘name of join type’)
ly ht 2 cái
ly cái chung
df1
df2
newdf
ly bên trái là chính ly bên phi là chính
61 62
df1 df2
63 64
5. Gộp dữ liệu 5. Gộp dữ liệu
Merge: df.merge (df1,df2, how=‘name of join type’) Merge: df.merge (df1,df2, how=‘name of join type’)
65 66
67 68
Nội dung 6. Phương thức thao tác trên chuỗi
1. I/O – Đọc/ghi dữ liệu Tách dữ liệu chuỗi thành list:
2. Làm sạch dữ liệu df[“tên_cột”].str.split(“ký_tự_tách”)
Ví dụ:
3. Trực quan hóa dữ liệu
4. Phương thức thao tác dữ liệu
5. Gộp dữ liệu
6. Phương thức thao tác trên chuỗi
7. Phương thức thao tác trên Timestamps
8. Tổng kết
69 70
6. Phương thức thao tác trên chuỗi 6. Phương thức thao tác trên chuỗi
Tìm chuỗi có nằm trong chuỗi hay không: Thay chuỗi bằng chuỗi:
df[“tên_cột”].str.contains(“chuỗi”) df[“tên_cột”].str.replace(“chuỗi cũ”, “chuỗi mới”)
Ví dụ: Ví dụ:
71 72
6. Phương thức thao tác trên chuỗi 6. Phương thức thao tác trên chuỗi
Regular Expression Regular Expression
RegEx là chuỗi ký tự đặc biệt để so khớp hoặc Một số ký hiệu:
so sánh chuỗi thỏa điều kiện nào đó. • Hoặc :|
Ví dụ: • Nhóm : ()
- ^a…s$ • Số lượng ký tự: *,{m,n},…
- [0-9]{2,4} • Ký tự đánh dấu :^ $
Để sử dụng thư viện RegEx: import re • Ký tự :\d,…
Ví dụ:
• “cat|mat” ~ “cat” or “mat”
• “gr(e|a)y” ~ “grey” or “gray”
73 74
6. Phương thức thao tác trên chuỗi 6. Phương thức thao tác trên chuỗi
Tìm chuỗi đầu tiên thỏa regular expression (RE): Regular Expression
df[“tên_cột”].str.extract(“RE”)
Ví dụ:
75 76
6. Phương thức thao tác trên chuỗi 6. Phương thức thao tác trên chuỗi
Regular Expression Regular Expression
77 78
6. Phương thức thao tác trên chuỗi 6. Phương thức thao tác trên chuỗi
Regular Expression Regular Expression
Ký tự: :\d\D\w\w+,…
Ví dụ:
• \d : ký số [0-9]
• \D : không phải ký tự số
• \w : ký tự [a-zA-Z0-9]
• \w+ : 1 hoặc nhiều ký tự [a-zA-Z0-9]
79 80
6. Phương thức thao tác trên chuỗi Nội dung
Regular Expression 1. I/O – Đọc/ghi dữ liệu
2. Làm sạch dữ liệu
3. Trực quan hóa dữ liệu
4. Phương thức thao tác dữ liệu
5. Gộp dữ liệu
6. Phương thức thao tác trên chuỗi
7. Phương thức thao tác trên Timestamps
8. Tổng kết
81 82
7. Phương thức thao trên Timestamps 7. Phương thức thao trên Timestamps
Kiểu dữ liệu Timestamps Chuyển Timestamps sang dữ liệu DateTime của Python:
Kiểu dữ liệu chung: datetime64[ns] pd.to_datetime (tên_cột_timestamp, unit=‘s’)
Chuyển dữ liệu int64 timestamp sang dữ liệu Ví dụ:
DateTime của Python
83 84
7. Phương thức thao trên Timestamps 7. Phương thức thao trên Timestamps
Chuyển Timestamps sang dữ liệu DateTime của Python: Chọn dòng dựa trên TimestampVí dụ:
pd.to_datetime (tên_cột_timestamp, unit=‘s’)
Ví dụ:
85 86
89 90
THE END
THANK YOU !
93