Có một khung dữ liệu lớn mà tôi muốn lấy lát (theo nhiều tiêu chí boolean) và sau đó sửa đổi các mục nhập trong các lát đó để thay đổi khung dữ liệu gốc - nghĩa là tôi cần view
đối với bản gốc. Vấn đề là, lập chỉ mục ưa thích luôn trả về một copy
. Tư tưởng phương pháp .ix
, nhưng lập chỉ mục boolean với phương thức df.ix[]
cũng trả về một bản sao.lập chỉ mục boolean có thể tạo khung nhìn cho một khung dữ liệu gấu trúc lớn?
Về cơ bản nếu df
là khung dữ liệu của tôi, tôi muốn xem cột C sao cho C!=0, A==10, B<30,...
v.v ... Có cách nào nhanh chóng để làm điều này trong gấu trúc không?
Một giải pháp tuyệt vời cho hầu hết các trường hợp sử dụng. :) –
Cảm ơn ... chỉ là những gì tôi đang tìm kiếm! – optional
Khi tôi chạy lệnh 'subdf ['A'] + = subdf ['B'] * subdf ['C']', nó thay đổi giá trị nhưng tôi nhận được cảnh báo sau: 'Giá trị đang cố gắng được đặt trên một bản sao của một slice từ một DataFrame. Thử sử dụng .loc [row_indexer, col_indexer] = value thay vì Xem các lưu ý trong tài liệu: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy # Được sử dụng trong nội bộ để gỡ lỗi hộp cát bên dưới trình thông dịch bên ngoài'. Sau đó, tôi đã thử làm theo đề xuất trong cảnh báo này 'subdf.loc [:, 'A'] + = subdf ['B'] * subdf ['C']' và nhận lại cùng một cảnh báo. Cái gì đúng? –