Let
dtrain
<class 'pandas.core.frame.DataFrame'>
target = dtrain.iloc[:,1] > 0
dtrain.ix[target, 1] = 0
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/indexing.py:477:
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
dtrain
dtrain = d.loc[(d.yyyy < 2005) & (d.yyyy >= 1995),:]
I think first can simplify code from:
dtrain = d.loc[(d.yyyy < 2005) & (d.yyyy >= 1995),:]
to:
dtrain = d[(d.yyyy < 2005) & (d.yyyy >= 1995)]
it is called boolean indexing
.
dtrain = d[(d.yyyy < 2005) & (d.yyyy >= 1995)].copy()