Python 熊猫:即使在使用.loc[]时也使用copywarning进行设置

Python 熊猫:即使在使用.loc[]时也使用copywarning进行设置,python,python-2.7,pandas,Python,Python 2.7,Pandas,我有一个简单的过程,尝试将数组prob\u win添加为现有数据帧df的新列。它们具有如下所示的相同尺寸: print type(prob_win) print len(prob_win) print df.shape <type 'numpy.ndarray'> 799 (799, 1) 该代码有效,但有以下警告: 1 Warning /opt/conda/envs/python2/lib/python2.7/site-packages/ipykernel/__main__.

我有一个简单的过程,尝试将数组
prob\u win
添加为现有数据帧
df
的新列。它们具有如下所示的相同尺寸:

print type(prob_win)
print len(prob_win)
print df.shape

<type 'numpy.ndarray'>
799
(799, 1)
该代码有效,但有以下警告:

 1 Warning
/opt/conda/envs/python2/lib/python2.7/site-packages/ipykernel/__main__.py:14: 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 See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
因此,我改为使用.loc,正如警告所说:

df.loc[:,'prob_win'] = prob_win

但还是犯了同样的错误。我做错了什么?在这种情况下,我如何消除警告?谢谢

如果警告是重要的

df=df.assign(prob_win=prob_win)

如果警告是重要的

df=df.assign(prob_win=prob_win)

兄弟,这个问题反复出现。没什么好担心的,只要阅读文档,确保您了解发生了什么。我收到了大量的警告,但我仍然很清楚上面的代码是什么
df['prob_-win']=prob_-win
?一些过滤?我猜数据帧“df”已经是另一个数据帧的一部分了。i、 e.你设置了原始的[someMaskCriteria]可能重复的兄弟这个问题反复出现。没什么好担心的,只要阅读文档,确保您了解发生了什么。我收到了大量的警告,但我仍然很清楚上面的代码是什么
df['prob_-win']=prob_-win
?一些过滤?我猜数据帧“df”已经是另一个数据帧的一部分了。i、 e.您设置的
df=df\u原始[someMaskCriteria]
分配的可能副本也比
[]=
分配快得多(即使使用
loc
)。有时我的
[]
作业速度慢得离谱,比如1000行需要1秒。
assign
@DennisGolomazov没有类似的问题是的,有时会发生。:-)<代码>分配也比
[]=
分配快得多(即使使用
loc
)。有时我的
[]
作业速度慢得离谱,比如1000行需要1秒。
assign
@DennisGolomazov没有类似的问题是的,有时会发生。:-)