Home > Blockchain >  Pandas - merge two lists
Pandas - merge two lists

Time:03-20

I've been searching everywhere for a tip, however can't seem to find an answer. I am trying to show items which have the same type

i.e. here's my dataset

enter image description here

What I want to end up with is a list of "Names" which are both a book and a movie. i.e. the output should be "Harry Potter" and "LoTR".

i.e. a list like below with the "Name" column only which would show the two items:

enter image description here

I was thinking of doing a pivot, but not sure where to go from there.

CodePudding user response:

please try this:

df_new = df[['Name','Type']].value_counts().reset_index()['Name'].value_counts().reset_index()
names = list(df_new[df_new['Name']>1]['index'].unique())

The above code gives all names with more than one type. If you want exactly names with two types, change the 2nd line to this:

names = list(df_new[df_new['Name']==2]['index'].unique())

CodePudding user response:

ct = pd.crosstab(df["name"], df["type"]).astype(bool)
result = ct.index[ct["book"] & ct["movie"]].to_list()
  • Related