Tôi có một DataFrame đơn giản như sau:Pandas DataFrame: thay thế tất cả các giá trị trong một cột, dựa trên điều kiện
Tôi muốn chọn tất cả các giá trị từ cột 'Mùa đầu tiên' và thay thế những đó là hơn 1990 bởi 1. Trong ví dụ này, chỉ có Baltimore Ravens sẽ có 1996 thay thế bằng 1 (giữ phần còn lại của dữ liệu còn nguyên vẹn).
Tôi đã sử dụng như sau:
df.loc[(df['First Season'] > 1990)] = 1
Tuy nhiên, nó thay thế tất cả các giá trị trong hàng đó bằng 1, và không chỉ các giá trị trong cột 'Mùa đầu tiên'.
Làm cách nào tôi có thể thay thế chỉ các giá trị từ cột đó?
Làm việc tuyệt vời! Không phải là có thể áp đặt nhiều biến đổi? 'df.loc [df ['Mùa đầu tiên']> 1990, 'Mùa đầu tiên'] = 1 df.loc [df ['Mùa đầu tiên'] <1990, 'Phần đầu tiên'] = 0' làm cho tất cả các giá trị trong cột đó trả về 0 – ichimok
Bạn có thể sử dụng một thủ thuật 'df ['Mùa đầu tiên'] = (df ['Mùa đầu tiên']> 1990) .astype (int)' này tạo ra một chuỗi boolean và truyền thành int chuyển đổi 'True' và 'Sai' thành' 1' và '0' tương ứng – EdChum
astype (int) là đáng yêu hơn! Câu trả lời tốt. – mythicalcoder