如何更改数据帧列而不发出警告“正在尝试在数据帧的切片副本上设置值”

K.A*_*lex 5 python dataframe pandas

我有一个数据框,名称为“data”,有 97230 行和 4 列。例如,将其中一列命名为“A”。我还有一些变量:“indVec”-与“data”索引相同的布尔系列;valVec - 具有一些值的向量。sum(indVec)=len(indVal) 我试图通过不同的方式设置索引“indVec”中列“A”的值。但每次我收到这样的消息:

“试图在 DataFrame 的切片副本上设置一个值

请参阅文档中的警告:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy self._setitem_with_indexer(indexer, value)"

我用来设置数据框“数据”的“A”列值的方法:

  1. data.loc[indVec,'A']=valVec
  2. data.ix[indVec,'A']=valVec
  3. data.set_value[indVec,'A']=valVec
  4. data.A[indVec]=valVec

如何在没有此消息的情况下设置“A”列的值?