Python solution:
import pandas as pd
df = pd.DataFrame({"Change Period Start":["2/2/2019", "2/2/2019", "2/2/2019", "9/11/2019"],
"Change Period End":["9/11/2019", "9/11/2019", "5/5/2019", "9/11/2019"],
"Change Period Supplier":["1/1/2020", "1/1/2020", "1/1/2025", "9/11/2019"]})
df.drop_duplicates(subset=['Change Period Supplier'])
Change Period Start Change Period End Change Period Supplier
2/2/2019 9/11/2019 1/1/2020
2/2/2019 5/5/2019 1/1/2025
9/11/2019 9/11/2019 9/11/2019
R solution:
Change.Period.Start <- c("2/2/2019", "2/2/2019", "2/2/2019", "9/11/2019")
Change.Period.End <- c("9/11/2019", "9/11/2019", "5/5/2019", "9/11/2019")
Change.Period.Supplier <- c("1/1/2020", "1/1/2020", "1/1/2025", "9/11/2019")
df = data.frame(Change.Period.Start, Change.Period.End, Change.Period.Supplier)
df[!duplicated(df$Change.Period.Supplier), ]
Change.Period.Start Change.Period.End Change.Period.Supplier
1 2/2/2019 9/11/2019 1/1/2020
3 2/2/2019 5/5/2019 1/1/2025
4 9/11/2019 9/11/2019 9/11/2019
Updated R version according to comments by OP
GR.Key <- c("A", "A", "A", "B")
Change.Period.Start <- c("2/2/2019", "2/2/2019", "2/2/2019", "9/11/2019")
Change.Period.End <- c("9/11/2019", "9/11/2019", "5/5/2019", "9/11/2019")
Change.Period.Supplier <- c("1/1/2020", "1/1/2020", "1/1/2025", "9/11/2019")
df = data.frame(GR.Key, Change.Period.Start, Change.Period.End, Change.Period.Supplier)
library(data.table)
dcast(df, GR.Key ~ paste0("Change.Period.Start", rowid(GR.Key)), value.var = "Change.Period.Start")
GR.Key Change.Period.Start1 Change.Period.Start2 Change.Period.Start3
1 A 2/2/2019 2/2/2019 2/2/2019
2 B 9/11/2019 <NA> <NA>