私信  •  关注

Max Ghenis Jeff

Max Ghenis Jeff 最近创建的主题
Max Ghenis Jeff 最近回复了
5 年前
回复了 Max Ghenis Jeff 创建的主题 » 用Python固定复制警告(复制)

一般来说 SettingWithCopyWarning 可以 在复印件上操作,而不是他们认为的原件。在那里 误报(如果你知道你在做什么 ). 一种可能是关闭(默认情况下 警告 )正如“加勒特”所建议的那样。

还有一个选择:

In [1]: df = DataFrame(np.random.randn(5, 2), columns=list('AB'))

In [2]: dfa = df.ix[:, [1, 0]]

In [3]: dfa.is_copy
Out[3]: True

In [4]: dfa['A'] /= 2
/usr/local/bin/ipython:1: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_index,col_indexer] = value instead
  #!/usr/local/bin/python

is_copy 标记为 False 为了那个目标 :

In [5]: dfa.is_copy = False

In [6]: dfa['A'] /= 2

如果显式复制,则不会出现进一步警告:

In [7]: dfa = df.ix[:, [1, 0]].copy()

In [8]: dfa['A'] /= 2

如果警告是通过 reindex

quote_df = quote_df.reindex(columns=['STK', ...])

或者,

quote_df = quote_df.reindex(['STK', ...], axis=1)  # v.0.21