w3resource

Pandas: Merge datasets and check uniqueness


69. Merge Datasets and Check Uniqueness

Write a Pandas program to merge datasets and check uniqueness.

Sample Solution :

Python Code :

import pandas as pd
df = pd.DataFrame({
    'Name': ['Alberto Franco','Gino Mcneill','Ryan Parkes', 'Eesha Hinton', 'Syed Wharton'],
    'Date_Of_Birth ': ['17/05/2002','16/02/1999','25/09/1998','11/05/2002','15/09/1997'],
    'Age': [18.5, 21.2, 22.5, 22, 23]
})
print("Original DataFrame:")
print(df)
df1 = df.copy(deep = True)
df = df.drop([0, 1])
df1 = df1.drop([2])
print("\nNew DataFrames:")
print(df)
print(df1)
print('\n"one_to_one”: check if merge keys are unique in both left and right datasets:"')
df_one_to_one = pd.merge(df, df1, validate = "one_to_one")
print(df_one_to_one)
print('\n"one_to_many” or “1:m”: check if merge keys are unique in left dataset:')
df_one_to_many = pd.merge(df, df1, validate = "one_to_many")
print(df_one_to_many)
print('“many_to_one” or “m:1”: check if merge keys are unique in right dataset:')
df_many_to_one = pd.merge(df, df1, validate = "many_to_one")
print(df_many_to_one)

Sample Output:

Original DataFrame:
             Name Date_Of_Birth    Age
0  Alberto Franco     17/05/2002  18.5
1    Gino Mcneill     16/02/1999  21.2
2     Ryan Parkes     25/09/1998  22.5
3    Eesha Hinton     11/05/2002  22.0
4    Syed Wharton     15/09/1997  23.0

New DataFrames:
           Name Date_Of_Birth    Age
2   Ryan Parkes     25/09/1998  22.5
3  Eesha Hinton     11/05/2002  22.0
4  Syed Wharton     15/09/1997  23.0
             Name Date_Of_Birth    Age
0  Alberto Franco     17/05/2002  18.5
1    Gino Mcneill     16/02/1999  21.2
3    Eesha Hinton     11/05/2002  22.0
4    Syed Wharton     15/09/1997  23.0

"one_to_one”: check if merge keys are unique in both left and right datasets:"
           Name Date_Of_Birth    Age
0  Eesha Hinton     11/05/2002  22.0
1  Syed Wharton     15/09/1997  23.0

"one_to_many” or “1:m”: check if merge keys are unique in left dataset:
           Name Date_Of_Birth    Age
0  Eesha Hinton     11/05/2002  22.0
1  Syed Wharton     15/09/1997  23.0
“many_to_one” or “m:1”: check if merge keys are unique in right dataset:
           Name Date_Of_Birth    Age
0  Eesha Hinton     11/05/2002  22.0
1  Syed Wharton     15/09/1997  23.0

For more Practice: Solve these Related Problems:

  • Write a Pandas program to merge two DataFrames on a common key and then check if the key is unique in both datasets.
  • Write a Pandas program to perform a merge and then identify duplicate merge keys by comparing the resulting DataFrame's index.
  • Write a Pandas program to merge two DataFrames with a one-to-many relationship and then validate the merge by counting rows.
  • Write a Pandas program to merge datasets and then output the number of unique keys from each side to confirm one-to-one matching.

Go to:


Previous: Write a Pandas program to rename all columns with the same pattern of a given DataFrame.
Next: Write a Pandas program to convert continuous values of a column in a given DataFrame to categorical.

Python-Pandas Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.