Menu
CoddyTech

Chỉnh sửa dữ liệu

Bài học 11 trên 19 trong khóa học Phân tích dữ liệu với pandas của Coddy.

Để ghi đè dữ liệu của một ô, cột hoặc hàng cụ thể, bạn có thể gán cho nó một giá trị mới:

df["existing_col"] = new_value            # Sửa cột
df.loc[index] = new_value                 # Sửa hàng
df.loc[index, "existing_col"] = new_value # Sửa ô

Để cập nhật giá trị trong cột của những hàng thỏa mãn một điều kiện cụ thể, hãy dùng chính điều kiện mà mình đã học ở các bài học trước cùng với phương thức .loc:

df.loc[df['col'] > 5, 'existing_col'] = new_value
 
df.loc[(df['col'] <= 5) & (df['col'] > 2), 'existing_col'] = new_value

Khi sửa đổi các hàng hiện có, bạn cần dùng từ khóa loc. Nếu sửa đổi một dataframe mà không dùng loc, bạn thường đang thao tác trên một bản sao thay vì dữ liệu gốc . Ví dụ:

df[(df['col'] <= 5) & (df['col'] > 2)]["existing_col"] = new_value

Ở đây, điều kiện trả về một bản sao của dataframe thay vì dữ liệu gốc.

challenge icon

Thử thách

Dễ

Tệp CSV stats.csv chứa thông tin về các số liệu thống kê.

Sau đâ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
  • Sửa đổi tất cả ô (ngoại trừ các ô trong cột IS_VALID và UTILIZATION), tại đó IS_VALID bằng 1 và UTILIZATION nhỏ hơn 0.4, thành giá trị MODIFIED.

Lưu kết quả vào biến df.

Tự làm thử

# Đã import pandas as pd
df = pd.read_csv("./stats.csv")
for column in df.columns:
    if column not in ["IS_VALID", "UTILIZATION"]:
        df[column] = df[column].astype(object)
# Viết code của bạn 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