我需要将 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 的数量合并
3 回答
达令说
TA贡献1821条经验 获得超6个赞
如果你只想要你在第一个 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。
慕码人2483693
TA贡献1860条经验 获得超9个赞
我找到了解决方案。我需要为我的 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')
添加回答
举报
0/150
提交
取消
