Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Mapping external values to dataframe values in Pandas

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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)

Output:

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)

Output:

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)

Output:

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

My Personal Notes arrow_drop_up
Last Updated : 08 Jan, 2019
Like Article
Save Article
Similar Reads
Related Tutorials