2016-12-28 9 views
1

私は2つのデータフレームdf_1df_2を持っていて、それらは相互コラム、例えば'Name'を持っています。どのように'Name'列の下の名前が異なるかもしれないので、私はdfフレームにそれらをマージし、両方から新しいいくつかの列を作成しました。2つのデータフレームをマージして後でドロップする

df_2を削除して、新しく作成された列とdf_1をすべて保持できますか?いいえステップで? 1行?または同じ列を持つdf_1 df_1がdfよりも、このName Age Sex Jop address Fmaily_size Floor_NR e.g 同じ列、タイプ、および順序のようになっていることを

df_1 Name Age Sex Jop RoomID 

df_1 Name Age Sex Jop address RoomID 

df Name Age Sex Jop address Fmaily_size Floor_NR e.g 

dfより。

+0

現在の結果と希望する出力で行うことができること(つまり、後でドロップする必要がある場合にマージする理由)を明確に説明してください。 – Parfait

+0

単純にlogistic.fit(xtrain、ytrain)を使用しましたが、xtrain = dfのいくつかの列はlogistic.predict(xtest)を使用したいが、xtest = df_1のデータ –

答えて

0

IIUC:

df_1.merge(
    df_2, on='Name', how='outer', 
    suffixes=['', '_'] 
).reindex_axis(df_1.columns.tolist(), 1) 
0

は別のデータフレームを有する1つのデータフレーム(すなわち、df_1)に一致かからすべてのレコードを保持するためにマージジョインleftを考える(すなわち、df_2)。一致しないレコードは、結合された列のNaNになります。それ以外の場合は、デフォルトのinnerを使用して、両方のフレームで一致するレコードを保持します。あなたのコメントパー

- 結果データフレームの下に、XTESTだけdf_1レコードを保持両方のフレーム内のすべての列です - XTEST =同じ列が、df_1からのデータで

xtest = pd.merge(df_1, df_2, on='Name', how='left') 
# OR xtest = df_1.merge(df_2, on='Name', how='left') 
関連する問題