Я хочу объединить DataFrame с CSV - PullRequest
       3

Я хочу объединить DataFrame с CSV

0 голосов
/ 03 сентября 2018

Мне нужно объединить 1 DF с 1 CSV. df1 содержит только 1 столбец (список продуктов, которые я хочу обновить) 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, объединить с количеством df2 для того же идентификатора

Ответы [ 3 ]

0 голосов
/ 03 сентября 2018

вы можете использовать new_df= pd.merge(df1,df2, on=['Product_id'])

0 голосов
/ 04 сентября 2018

Я нашел решение. Мне нужно было сбросить индекс для моего 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 голосов
/ 03 сентября 2018

, если вы хотите использовать только те продукты, которые у вас есть в первом 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', чтобы сгенерировать новый df только с соответствующими строками, которые имеют одинаковый идентификатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...