Mapping external values to dataframe values in Pandas
Mapping external value to a dataframe means using different sets of values to add in that dataframe by keeping the keys of external dictionary as same as the one column of that dataframe.
To add external values in dataframe, we use dictionary which has keys and values which we want to add in the dataframe. By adding external values in the dataframe one column will be added to the current dataframe. We can also map or combine one dataframe to other dataframe with the help of pandas.
Method #1: Using mapping function
By using this mapping function we can add one more column to an existing dataframe. Just keep in mind that no key values will be repeated it will make the data inconsistent.
# Creating new dataframe import pandas as pd initial_data = { 'First_name' : [ 'Ram' , 'Mohan' , 'Tina' , 'Jeetu' , 'Meera' ], 'Last_name' : [ 'Kumar' , 'Sharma' , 'Ali' , 'Gandhi' , 'Kumari' ], 'Age' : [ 42 , 52 , 36 , 21 , 23 ], 'City' : [ 'Mumbai' , 'Noida' , 'Pune' , 'Delhi' , 'Bihar' ]} df = pd.DataFrame(initial_data, columns = [ 'First_name' , 'Last_name' , 'Age' , 'City' ]) # Create new column using dictionary new_data = { "Ram" : "B.Com" , "Mohan" : "IAS" , "Tina" : "LLB" , "Jeetu" : "B.Tech" , "Meera" : "MBBS" } # combine this new data with existing DataFrame df[ "Qualification" ] = df[ "First_name" ]. map (new_data) print (df) |
First_name Last_name Age City Qualification 0 Ram Kumar 42 Mumbai B.Com 1 Mohan Sharma 52 Noida IAS 2 Tina Ali 36 Pune LLB 3 Jeetu Gandhi 21 Delhi B.Tech 4 Meera Kumari 23 Bihar MBBS
Method #2: Using replace
function
In this method, we can add or replace some of the value of the dataframe by some defined external values.
# Creating new dataframe import pandas as pd initial_data = { 'First_name' : [ 'Ram' , 'Mohan' , 'Tina' , 'Jeetu' , 'Meera' ], 'Last_name' : [ 'Kumar' , 'Sharma' , 'Ali' , 'Gandhi' , 'Kumari' ], 'Age' : [ 42 , 52 , 36 , 21 , 23 ], 'City' : [ 'Mumbai' , 'Noida' , 'Pune' , 'Delhi' , 'Bihar' ]} df = pd.DataFrame(initial_data, columns = [ 'First_name' , 'Last_name' , 'Age' , 'City' ]) # Create new column using dictionary new_data = { "Ram" : "Shyam" , "Tina" : "Riya" , "Jeetu" : "Jitender" } print (df, end = "\n\n" ) # combine this new data with existing DataFrame df = df.replace({ "First_name" :new_data}) print (df) |
First_name Last_name Age City 0 Ram Kumar 42 Mumbai 1 Mohan Sharma 52 Noida 2 Tina Ali 36 Pune 3 Jeetu Gandhi 21 Delhi 4 Meera Kumari 23 Bihar First_name Last_name Age City 0 Shyam Kumar 42 Mumbai 1 Mohan Sharma 52 Noida 2 Riya Ali 36 Pune 3 Jitender Gandhi 21 Delhi 4 Meera Kumari 23 Bihar
Method #3: Using update
function
In this method we can update the dataframe values by using index values we can change the value of columns by external data.
# Creating new dataframe import pandas as pd initial_data = { 'First_name' : [ 'Ram' , 'Mohan' , 'Tina' , 'Jeetu' , 'Meera' ], 'Last_name' : [ 'Kumar' , 'Sharma' , 'Ali' , 'Gandhi' , 'Kumari' ], 'Age' : [ 42 , 52 , 36 , 21 , 23 ], 'City' : [ 'Mumbai' , 'Noida' , 'Pune' , 'Delhi' , 'Bihar' ]} df = pd.DataFrame(initial_data, columns = [ 'First_name' , 'Last_name' , 'Age' , 'City' ]) # Create new column using dictionary new_data = { 0 : "Shyam" , 2 : "Riya" , 3 : "Jitender" } # combine this new data with existing DataFrame df[ "First_name" ].update(pd.Series(new_data)) print (df) |
First_name Last_name Age City 0 Shyam Kumar 42 Mumbai 1 Mohan Sharma 52 Noida 2 Riya Ali 36 Pune 3 Jitender Gandhi 21 Delhi 4 Meera Kumari 23 Bihar
Please Login to comment...