我需要将1 df与1 CSV合并。 df1仅包含1列(我要更新的产品的ID列表) df2包含2列(所有产品的ID,数量)
df1=pd.read_csv(id_file, header=0, index_col=False)
df2 = pd.DataFrame(data=result_q)
df3=pd.merge(df1, df2)
我想要的是:仅包含csv / df1中的id的数据框与相同ID的df2数量合并
答案 0 :(得分:1)
如果只希望您在第一个data_frame中拥有的产品,则可以使用以下方法:
df_1
Out[11]:
id
0 1
1 2
2 4
3 5
df_2
Out[12]:
id prod
0 1 a
1 2 b
2 3 c
3 4 d
4 5 e
5 6 f
6 7 g
7 8 h
df_3 = df_1.merge(df_2,on='id')
df_3
Out[14]:
id prod
0 1 a
1 2 b
2 4 d
3 5 e
您需要使用on ='column'参数,因此只会生成具有相同ID的对应行的新df。
答案 1 :(得分:0)
您可以使用new_df= pd.merge(df1,df2, on=['Product_id'])
答案 2 :(得分:0)
我找到了解决方案。我需要重置df2的索引
df1=pd.read_csv(id_file)
df2 = pd.DataFrame(data=result_q).reset_index()
df1['id'] = pd.to_numeric(df1['id'], errors = 'coerce')
df2['id'] = pd.to_numeric(df2['id'], errors = 'coerce')
df3=df1.merge(df2, on='id')
谢谢大家!