2015-01-22 2 views
1

나는 다음과 같은 메시지가 얻을 내 코드 실행 :팬더에서의 CopyWarning 설정 : 열의 첫 번째 값을 설정하는 방법?

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라고 일을하고 또는 따라서 경고

작동하지 않을 수있다