2015-01-22 3 views
1

При запуске моего кода я получаю следующее сообщение:SettingWithCopy Предупреждение в pandas: как установить первое значение в столбце?

SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame 

See the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy 
    df['detect'][df.index[0]] = df['event'][df.index[0]] 

Что такое правильный способ установки значения первого столбца равного первое значение другого столбец?

ответ

1

ix Используйте для выполнения выбора индекса метки:

In [102]: 

df = pd.DataFrame({'detect':np.random.randn(5), 'event':np.arange(5)}) 
df 
Out[102]: 
    detect event 
0 -0.815105  0 
1 -0.656923  1 
2 -1.417722  2 
3 0.210070  3 
4 0.211728  4 
In [103]: 

df.ix[0,'detect'] = df.ix[0,'event'] 
df 
Out[103]: 
    detect event 
0 0.000000  0 
1 -0.656923  1 
2 -1.417722  2 
3 0.210070  3 
4 0.211728  4 

Что вы делаете, называется chained indexing и может или не может работать, следовательно, предупреждение

Смежные вопросы