Tùy chỉnh các thao tác chỉnh sửa
Bài học 13 trên 19 trong khóa học Phân tích dữ liệu với pandas của Coddy.
Để tạo một chỉnh sửa tùy chỉnh, hãy dùng phương thức .apply và truyền vào đó một lambda hoặc một function. Ví dụ, để tìm bình phương của mỗi số trong một cột:
df['num_squared'] = df['num'].apply(lambda x: x**2)Bạn cũng có thể làm việc này bằng cách nhân cột đó với chính nó:
df['num_squared'] = df['num'] * df['num']Để cộng 2 vào giá trị của mỗi hàng:
df["add_two"] = df['num'].apply(lambda x: x+2)
df["add_two"] = df['num'] + 2Để thay thế mỗi giá trị trong Series bằng một giá trị khác, hãy dùng phương thức .map và truyền vào đó một hàm, một từ điển hoặc một Series.
Ví dụ, nếu muốn thay tên trái cây bằng các giá trị số:
fruits_to_num = {"apple": 1, "mango": 2, "grape": 3}
df["fruits"] = df["fruits"].map(fruits_to_num)Cả .map và .apply đều có thể nhận các hàm:
df['num_squared'] = df['num'].apply(lambda x: x**2)
df['num_squared'] = df['num'].map(lambda x: x**2)Để tìm hiểu thêm về sự khác nhau giữa chúng, bạn có thể đọc tại đây.
Thử thách
DễTệp CSV stats.csv chứa thông tin về số liệu thống kê.
Dưới đây là 5 dòng đầu tiên của tệp:
ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID,CATEGORY
1,France,Signal violet,marksmanship,14,0.1924,1,SHOW
2,Solomon Islands,Pearl violet,crocheting,4,0.6108,1,TREE
3,Germany,Bottle green,calligraphy,12,0.88646,0,SHOW
4,Mauritania,Fawn brown,paper cutting,9,0.058,1,JAPE- Thay các giá trị trong
CATEGORYbằng:{"SHOW": 0, "TREE": 1, "JAPE": 2, "GHUP": 3, "PLQR": 4}. - Tạo một cột mới có tên
SKILL_MASTERY. Điền giá trị vào cột này theo công thức sau: Nhân các giá trị trong hai cộtSKILL_POINTSvàUTILIZATION. Nếu kết quả lớn hơn5, hãy chia kết quả cho 4; nếu không, hãy chia cho2. Cuối cùng, cộng giá trị trong cộtIS_VALIDvào kết quả. - Sắp xếp kết quả theo thứ tự tăng dần dựa trên
SKILL_MASTERY.
Lưu kết quả vào biến df.
Tự làm thử
# Đã nhập pandas với tên pd
df = pd.read_csv("./stats.csv")
# Viết code bên dưới
Tất cả bài học trong Phân tích dữ liệu với pandas
4Phân tích dữ liệu với Pandas
Thống kê mô tảNhóm và tổng hợp dữ liệuCác phép tổng hợp khác nhauHợp nhất và nối3Thao tác dữ liệu với Pandas
Trả về kết quả được yêu cầuLọc dữ liệuThêm và xóaChỉnh sửa dữ liệuChỉnh sửa chuỗiTùy chỉnh các thao tác chỉnh sửaTự luyện tập: Trình biên dịch Python online