2017-07-12 22 views
1

私は一日中解決策を探しています。この件に関する少なくとも1ダースの記事を読んでください。しかし何も動かないようです。2つのCSVファイルをIDでパンダで1つにマージ

IDでマージする必要がある2つのcsvファイルがあります。両方のファイルには、Org IDとOrg Nameの2つの列があります。

最初のファイル

name_cols = ['GUID1', 'GUID2', 'Org ID', 'Org Name', 'Org Type', 'Chapter', 'Join Date', 'Effective Date', 'Expire Date'] 
pull_cols = ['Org ID', 'Org Name', 'Org Type', 'Chapter', 'Join Date', 'Effective Date','Expire Date'] 

df1 = pd.read_csv(path, header=None, encoding="ISO-8859-1", names=name_cols, usecols=pull_cols, index_col='Org ID') 

セカンドファイル

name_cols = ['GUID1', 'Org ID', 'Org Name', 'Transaction Date', 'Product Name', 'Sales Price', 'Invoice Code', 'Payment Amount', 'Add Date'] 
pull_cols = ['Org ID', 'Org Name', 'Transaction Date', 'Product Name', 'Sales Price', 'Invoice Code', 'Payment Amount', 'Add Date'] 

df2 = pd.read_csv(path, header=None, encoding="ISO-8859-1", names=name_cols, usecols=pull_cols, index_col='Org ID') 

私はまだパンダを模索していると私はこれにアプローチする方法に何らかの手がかりがはるかにappriciatedされます。以下は、私のコードです。

+1

をあなたはどのように、 'pd.merge(DF1、DF2を試してみました= 'outer'、on = ['Org ID'、 'Org Name']) '? 'how ='は、 "inner"、 "left"、 "right"、 "outer"の間の任意の結合タイプに変更できます。 – cmaher

+0

@cmaherはい。 KeyError: 'Org ID' – user3088202

+0

KeyErrorは、キーがあなたのDataFrameにないことを伝えます。 'df1'と' df2'が期待通りにインポートされたことを確認することをお勧めします。また、コメント/回答が可能な限り生産性を上げるように、既に試したことを投稿するべきです。 – cmaher

答えて

1

チャットで議論した後、主な問題は「Org Id」がインデックスとして読み取られたことでした。何その後、残されたことは参加する "インナー" やってた

df2 = pd.read_csv(path, header=None, encoding="ISO-8859-1", names=name_cols, usecols=pull_cols, index_col='Org ID') 

:PARAM "偽index_col =を" トリックをした追加

pd.merge(df1, df2, how='inner', on=['Org ID', 'Org Name']) 
関連する問題