Menu
CoddyTech

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.

 

challenge icon

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 CATEGORY bằ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ột SKILL_POINTS và UTILIZATION. Nếu kết quả lớn hơn 5, hãy chia kết quả cho 4; nếu không, hãy chia cho 2. Cuối cùng, cộng giá trị trong cột IS_VALID và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

Tự luyện tập: Trình biên dịch Python online