2017-02-16 10 views
0

У меня 2 PANDAS DataFrames, это:Использования панды DataFrame, как Lookup

item inStock  description 
Apples 10  a juicy treat 
Oranges 34  mediocre at best 
Bananas 21  can be used as phone prop 
<...many other fruits...> 
Kiwi  0  too fuzzy 

и справочная таблица только с подмножеством указанных выше пунктов:

item  Price 
Apples 1.99 
Oranges 6.99 

Я хотел бы сканировать через первую таблицу и заполнить колонку цен на DataFrame, когда плод в первом DataFrame соответствует плод во втором:

item inStock  description     Price 
Apples 10  a juicy treat     1.99 
Oranges 34  mediocre at best    6.99 
Bananas 21  can be used as phone prop 
<...many other fruits...> 
Kiwi  0  too fuzzy 

Я рассмотрел примеры со встроенной функцией поиска, а также с помощью функции типа «в-в-типа», но я не могу заставить синтаксис работать. Кто-нибудь может мне помочь?

+0

Вы можете просто сделать 'lhs.merge (РИТ, по = 'п', как = 'слева)' это будет соответствовать по пункту и добавить соответствующее значение, где не соответствует 'NaN' появится – EdChum

+0

Спасибо, отлично работает. –

ответ

1
import pandas as pd 

df_item= pd.read_csv('Item.txt') 
df_price= pd.read_csv('Price.txt') 

df_final=pd.merge(df_item,df_price ,on='item',how='left') 
print df_final 

выход

 item inStock    description Price 
0 Apples  10    a juicy treat 1.99 
1 Oranges  34   mediocre at best 6.99 
2 Bananas  21 can be used as phone prop NaN 
3  Kiwi  0     too fuzzy NaN 
+0

Perfect. Спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^