Reputation: 29
I want to do something similar to the vlookup in the python. Here is a dataframe I want to lookup for value 'Flow_Rate_Lupa'
And here is the dataframe I want to fill the data by looking at the same month+day to fill the missing value. Is there any one to help me to solve how to do this QAQ
Upvotes: 0
Views: 906
Reputation: 68
I usually merge the two data frames and define an indicator, then filter out the values where the indicator says both meaning data is in both data frames.
import pandas as pd
mergedData= pd.merge(df1,df2, how='left' ,left_on='Key1', right_on='Key2', indicator ='Exists')
filteredData = mergedData[mergedData[Exists]='both']
Upvotes: 2
Reputation: 862611
Use DataFrame.merge
with left join and the nreplace missing values by Series.fillna
with DataFrame.pop
for use and remove column:
df = df2.merge(df1, on=['month','day'], how='left', suffixes=('','_'))
df['Flow_Rate_Lupa'] = df['Flow_Rate_Lupa'].fillna(df.pop('Flow_Rate_Lupa_'))
Upvotes: 1