Hướng dẫn dùng df.notnull python
Trong data, không ít dữ liệu không có giá trị gọi là dữ liệu trống hay null và được thể hiện là NaN trong bảng Data Frame. Những dữ liệu này ta có nhiều cách xử lý nó, có thể là xóa, điền vào bằng một dữ liệu khác có giá trị gần giống hoặc tương đương. Show
Nào! giờ chúng ta bắt đầu nhé, nhớ là import thư viện trước khi sử dụng pandas import numpy as np import pandas as pd Tạo một data frame để xử lý df = pd.DataFrame({'A':[1,2,np.nan], 'B':[5,np.nan,np.nan], 'C':[1,2,3]}) Output: Trong data frame trên ta thấy có 3 dữ liệu bị thiếu nằm trong các cột A, B và dòng 1 và 2 Ta dùng phương thức dropna() để xóa, mặc định axis = 0 là xóa dòng df.dropna() print(df) Output: Thêm tham số axis = 1 để xóa cột df.dropna(axis=1) print(df) Để điền vào dữ liệu NaN ta dùng phương thức fillna() df.fillna(value='FILL VALUE') print(df) Output: ta có thể điền giá trị trung bình (mean) hoặc giá trị max, min # ta lấy giá trị trung bình của cột A điền vào dữ liệu bị trống trong cột A df['A'].fillna(value=df['A'].mean()) Output: Kiểm tra dữ liệu bị thiếu để xem dữ liệu bị thiếu ta dùng phương thức isna() hoặc isnull() df.isna() # hoặc df.isnull() Output: lấy thông tin số cột bị null # Ta thêm hàm sum() để tổng lại số cột bị null trong data frame df.isnull().sum() Output: Nhìn vào kết quả trên ta thấy cột A có 1 giá trị NaN, B có 2 và C không có giá trị Null Ta có thể tính % giá trị bị null trong cột để xem xét dữ liệu có nên bị xóa hay thay thế nó, nếu dữ liệu bị null nhỏ hơn 10% trong bảng dữ liệu của chúng ta, ta có thể xóa nó, nếu lớn hơn 10%, ta dùng phương pháp thay thế dữ liệu thiếu. Tùy theo dố liệu mà ta có thể linh hoạt giá trị % cao thấp để xử lý. Nếu bắt đầu làm quen với Python, việc đầu tiên bạn cần làm là tìm hiểu về thư viện Pandas. Pandas là một thư viện giúp bạn làm việc với dữ liệu rất thuận tiện và hiệu quả, nhiều công việc xử lý dữ liệu bạn sẽ mất công viết ra rất nhiều code trong các công cụ khác, nhưng với Pandas, bạn chỉ cần viết 1 dòng code. Dưới đây mình tổng hợp các dòng code thường được sử dụng. Các bạn hãy lưu lại để dùng khi cần thiết nhé. Các dòng code thường dùng mình sẽ chia thành 6 nhóm:
1. Cách đọc dữ liệu trong Pandas PythonCách đọc dữ liệu từ một file Excel: pd.read_excel(filename) 2. Cách xuất dữ liệu từ Pandas DataFrameCách xuất dữ liệu từ DataFrame ra file Excel: df.to_excel(filename) 3. Cách tạo ra dữ liệu testCách tạo bảng dữ liệu test với Numpy và Pandas: pd.DataFrame(np.random.rand(15,5)) => Đoạn code này sẽ tạo ra một bảng gồm 15 dòng và 5 cột, được điền vào những giá trị ngẫu nhiên từ Numpy 4. Cách xem và kiểm tra dữ liệuCách lấy số dòng số cột của DataFrame: df.shape 5. Cách làm sạch dữ liệu trong Pandas DataFrameĐổi tên các cột trong DataFrame theo thứ tự: df.columns = [‘a’,’b’,’c’] 6. Cách lọc, sắp xếp, nhóm dữ liệu trong Pandas DataFrameLọc dữ liệu theo điều kiện Lọc ra các dòng thỏa mãn điều kiện 2 lớn hơn 3
Lọc ra các dòng thỏa mãn điều kiện: có giá trị cột 2 trong khoảng 5 đến 6
Sắp xếp dữ liệu trong cột 7 theo chiều thuận (ascending)
Sắp xếp dữ liệu trong cột 8 theo chiều nghịch (descending)
Sắp xếp 7 theo chiều thuận và 8 theo chiều nghịch
Pivot dữ liệu theo 7
Pivot dữ liệu theo nhiều cột 7, 8
Tạo một Pivot Table, nhóm dữ liệu theo cột 7, tính mean của 8, 6
Tính mean của tất cả các cột
Áp dụng hàm np.max() cho mỗi dòng dữ liệu
7. Trích xuất một phần dữ liệu trong Pandas DataFrameTrả về một cột của DataFrame dưới dạng Series: df[col] 8. Nối dữ liệu, gộp dữ liệu bằng Pandas DataFrameNối dữ liệu DataFrame theo chiều dọc Nối các dòng của 7 xuống dưới 8 (Số lượng các cột trong 2 DataFrames này phải giống nhau)
Nối các cột của 7 sang phải các cột của 8 (Số lượng các dòng trong 2 DataFrames này phải giống nhau) 0
1Join 2 DataFrame 7 và 8 theo cột chung 7, kiểu Join là 4. Ngoài ra còn hỗ trợ các kiểu join: 5, 6, 7 |