2017-03-27 20 views
-1

私は1000行と50列を含むデータフレームを持っています。私は10行と2列を含む2番目のデータフレームを持っています。最初の列は古いデータフレームのその列の値で、2番目の列は新しい値を含みます。別のデータフレーム(Python)を使用してデータフレーム値を更新する

元のデータフレーム内の特定の列のすべての値を、2番目のデータフレームの値で置き換えたいとします。

マージ・コンカットと結合について考えましたが、新しい列を追加するのではなく、特定の列の値を置き換えたり更新したりしているため、いずれも機能しません。第二に小さいデータフレームがDF2で、2列、「old_column」、「NEW_COLUMN」を含む

は、最初のデータフレームがDF1とすると、その特定の行に更新する必要がある列名は「old_column」です。

+0

サンプルデータを入力したときと、出力がどのように表示されるかの例を教えてください。 [*** MCVE ***](http://stackoverflow.com/help/mcve)と[*** HowToAsk ***](http://stackoverflow.com/help/how-to-ask)を読み、 。これが含まれていれば私は賛成投票を削除して嬉しいです。 – piRSquared

+0

質問の両方のデータフレームの寸法について述べました。私はstackoverflowのインターフェイスでテーブルを構築する方法を知らない。さもなければ私はそれをしたでしょう。私は質問を3回編集して、できるだけ明確にしました。 – Pratik

+0

更新する行を指定する情報はどこで取得できますか? – piRSquared

答えて

0

replace pandas.Seriesの方法を調べたいと思います。

df1 = pd.DataFrame({'old_column':[1,2,3,4]}) 
# df1 
# old_column 
# 0   1 
# 1   2 
# 2   3 
# 3   4 

df2 = pd.DataFrame({'old_column':[2,4], 'new_column':[20,40]}) 
# df2 
# new_column old_column 
# 0   20   2 
# 1   40   4 

df1.old_column.replace(df2.set_index('old_column')['new_column'], inplace=True) 
# df1 after replacement 
# old_column 
# 0   1 
# 1   20 
# 2   3 
# 3   40 
+0

あなたの答えをありがとう。私はKaggleのクエリに関するFacebookにメッセージを送ることを覚えています。ここでお会いできてよかったです。 – Pratik

関連する問題