Python Forum

Full Version: How do I translate this into python code? (excel vlookup)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have two dataframes and trying to do a excel vlookup type function.

excel's vlookup parameters: vlookup(lookup_value,table_array,col_index_num,range_lookup
How would I translate the following into python code?

Trying to do vlookup from df1 to df2. I dont know if I use a merge (all column names are different), map, etc. Im stuck on this problem. Im sure its a easy solution.

lookup_value: df1 column C apples
table_array: df2 A though D
col_index: df2 column D (apple_types)


below are column names...
df1
A | B | C | D
-----------------------------------
grapes|berry | apples | mango

df2
A | B | C | D
-----------------------------------
veggies|meat | drinks | apple_types

Thank you
Please:
  • Make an effort
  • Show your code
  • Ask specific questions
We are glad to help, but will not write it for you
Hi Larz,

Thank you for responding. I 100% agree an effort should be made. The only problem is I dont know which function to use to get started. (something that works with two dataframes)

I dont need the exact code to solve this, just which function should I use to help me get going in the right direction. Example, if someone can say "use *blank* function to solve for this", this would certainly help me to get going on my resolution.

From there I can start to develop my own code.


Thank you
pandas.DataFrame.merge()
(May-26-2020, 03:19 PM)buran Wrote: [ -> ]pandas.DataFrame.merge()

thank you! I will begin coding.
I figured how to use the merge command (sorta). The following code combines both df1 and df2 together- (I added left/right on because this is the column I need to merge on). Works great but I dont want to merge all columns from both dataframes.
pd.merge(df1, df2, left_on='apples', right_on='drinks')
. I read online and looked at alot of youtube videos and people do associate vlookup with merge. But in all examples they end up bringing in all columns, which I do not want to happen.


Ultimately, yes I do want to merge on column C from df1 to df2.."but" I want to keep df1 intact but ONLY bring in column D from df2 into df1. I do not want to bring in all columns from df2. Please look below, this is exactly what I want to happen.


CURRENT STATE
df1
A | B | C | D
-----------------------------------
grapes|berry | apples | mango

df2
A | B | C | D
-----------------------------------
veggies|meat | drinks | apple_types

FUTURE STATE
df1
A | B | C | D | E |
-----------------------------------
grapes|berry | apples | mango |apple_types

Thank you for your help. I am going crazy on this. Wall
hello, just wondering if someone can please help me with this.

thank you