Đầu tiên tôi xây dựng khung DataFrame mới. Sau đó tạo một frame2 mới bằng cách lọc một số dữ liệu từ khung. Bây giờ tôi muốn gán một số giá trị để Frame2:gấu trúc SettingWithCopyCảnh báo sau khi thử .loc
import numpy as np
from pandas import DataFrame
frame = DataFrame(np.arange(9).reshape((3, 3)), index=['a', 'c', 'd'], columns=['Ohio', 'Texas', 'California'])
mask = frame['Texas'] > 1
print frame[mask]
frame2 = frame.loc[mask]
frame2.loc['c', 'Ohio'] = 'me'
print frame2
nhưng tôi đã nhận cảnh báo này:
C:\Python27\lib\site-packages\pandas\core\indexing.py:461: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead
tại sao tôi tiếp tục nhận được cảnh báo này mặc dù tôi đã sử dụng cú pháp .loc được đề nghị? tôi phải làm gì để tránh cảnh báo này?
có vẻ như tôi đã tìm thấy một giải pháp có thể có tại: http://stackoverflow.com/questions/23688307/settingwithcopywarning-even-when-using-loc. ai đó có ý tưởng tốt khác? – Osora
Ý định của bạn ở đây là gì? bạn có muốn cập nhật một bản sao hoặc bản gốc df – EdChum
@EdChum tôi muốn cập nhật bản sao không. – Osora