2017-06-06 26 views
0

Spacer 3.1.4でAnaconda Python 2.7を使用してWindows 7.0 Professionalで開発しています。私もパンダを使っています。Anaconda Pythonの破損修正を修正しました。

私は一貫した奇妙な問題を抱えています。 Python/Pandasは同じ名前で2つの同一のデータフレームを扱い始めました。

次のように私は、データフレームを定義した:

dfa = pd.DataFrame(np.empty(0,dtype=[('Date','datetime64[ns]'), 
            ('column1', 'string'), 
            ('column2','string'), 
            ('column3','string')])) 

私は今、この(空の)データフレーム複製次のように私はdfaに追加するだけで、この後

dfb = dfa 

を:

dfa.loc[indexvalue,:] = ([item1,item2,item3....]) 

これは、(コードの他の部分をテストするために)このコマンドは同時にdfbの更新も同様に開始しました。 dfbを使用して同様の操作を行うと、同じ更新が行われますdfa

私はパッケージのインストール時に専門家ではなく、自分のコードを広く検証しました。これは腐敗のようです。

これをどのように処理するのがよいのかアドバイスできますか?私は、私のAnacondaインストールを分解することを始めたくない。これが実際に環境上の破損である場合、AnacondaとSpyderを修復/再インストールする最良の方法は何ですか?

ありがとうございます。

答えて

1

dfb = dfa同じオブジェクトを指すように変数に設定するだけです。 dfaを更新すると、dfbと同じオブジェクトが更新されます。これはパンダの仕組みです。それは、同じデータフレームに指摘されてどのようにあなたの変数がのデータフレームのコピーを指しているかどうかをチェックします

dfc = dfa.copy() 

あなたが本当にDFA使用のコピーを作成したい場合

dfb is dfa 
True 

dfc is dfa 
False 

これは破損していません。

+0

ありがとうございます!今あなたがそれを言いました、私は長いこと前から訓練からそれを覚えています。私は今までこれまで実際に出会ったことはありません。 – Windstorm1981

関連する問題