Najpierw tworzę nową ramkę DataFrame. Następnie utwórz nową ramkę2, filtrując niektóre dane z ramki. Teraz chcę, aby przypisać pewne wartości do frame2:Ustawienia pand UstawieniaWithCopyOstrzeżenie po wypróbowaniu .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
ale mam to ostrzeżenie:
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
dlaczego Ciągle mam to ostrzeżenie, chociaż użyłem zalecaną składnię .LOC? co mam zrobić, aby uniknąć tego ostrzeżenia?
wydaje się, że znalazłem jedno możliwe rozwiązanie na stronie: http://stackoverflow.com/questions/23688307/settingwithcopywarning-even-when-using-loc. czy ktoś ma inne dobre pomysły? – Osora
Jaki jest twój zamiar? Czy chcesz zaktualizować kopię lub oryginalny df – EdChum
@EdChum Chcę zaktualizować kopię. – Osora