pandas:尝试在DataFrame的切片副本上设置值

时间:2018-01-09 15:23:42

标签: python

我在pandas中有一个非常简单的命令,如:

volume_related_pd.loc[:,"last_record_volume"] = volume_related_pd.loc[:,"volume"]

我认为复杂性是我有重复索引。它会产生以下警告:

  

/anaconda2/lib/python2.7/site-packages/pandas/core/indexing.py:601:   SettingWithCopyWarning:尝试在a的副本上设置值   从DataFrame切片。尝试使用.loc [row_indexer,col_indexer] =   代替值

我该怎么办?谢谢。我已经使用了.iloc

1 个答案:

答案 0 :(得分:1)

喔。我想出来......这来自最初定义volume_related_pd的方式。

最初是

volume_related_pd = complete_contract_info_pd[["volume"]]

然后警告来了。

但是,如果我特意将其定义为原始pd的副本,则问题就消失了:

volume_related_pd = complete_contract_info_pd[["volume"]].copy()