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ùngloc, 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.
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_VALIDvàUTILIZATION), tại đóIS_VALIDbằng1vàUTILIZATIONnhỏ hơn0.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
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