Python 我想将数据帧与CSV合并
我需要将1个df与1个csv合并。 df1只包含1列(我要更新的产品的id列表) df2包含2列(所有产品的id、数量)Python 我想将数据帧与CSV合并,python,pandas,Python,Pandas,我需要将1个df与1个csv合并。 df1只包含1列(我要更新的产品的id列表) df2包含2列(所有产品的id、数量) 我想要的是:一个仅包含csv/df1中id的数据帧与同一id的df2数量合并如果您只想要第一个数据帧中的产品,您可以使用: 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
我想要的是:一个仅包含csv/df1中id的数据帧与同一id的df2数量合并如果您只想要第一个数据帧中的产品,您可以使用:
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
您需要使用class='column'上的参数,以便只使用具有相同id的对应行生成新df。您可以使用
new\u df=pd.merge(df1,df2,on=['Product\u id'])
我找到了解决方案。我需要为我的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')
谢谢大家 我收到以下错误消息:您试图在int64和对象列上进行合并扫描您提供了所需输入数据的示例和输出的示例?我收到以下错误消息:您试图在int64和对象列上进行合并,通过
pd.将对象df转换为数值。
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')