copy
は、下位の配列のコピーを行うヘルパーとして定義されており、関数はインデックスをコピーしません。
Definition: series.copy(self, order='C')
Source:
def copy(self, order='C'):
"""
Return new Series with copy of underlying values
Returns
-------
cp : Series
"""
return Series(self.values.copy(order), index=self.index,
name=self.name)
index
建設で共有まま:ソースコードを参照してください。あなたはより深いコピーをしたい場合は、単に直接Series
のコンストラクタを使用します。
series = pd.Series(range(3))
...: series_copy = pd.Series(series.values.copy(), index=series.index.copy(),
...: name=series.name)
...: series_copy.index += 1
series
Out[72]:
0 0
1 1
2 2
dtype: int64
series_copy
Out[73]:
1 0
2 1
3 2
dtype: int64
は0.13で、copy(deep=True)
はあなたの問題を解決するコピーのデフォルトのインタフェースです。 (Fix is here)
バグかどうかわかりませんが、インデックスが等しいかどうかを確認すると、series_copy.indexはseries.index - 'series.index.equals(series_copy.index)'と等しくなります。 'True'を返します。 –