Skip to content Skip to sidebar Skip to footer

Find The List Values Not In Pandas Dataframe Data

I have a list and pandas dataframe data that looks like this: user_id = [10, 15, 20, 25, 30, 32, 40, 45, 50] user_id value 10 45 20 49 25 19' 30 5

Solution 1:

Use a set operation:

list(set(user_id)-set(df.user_id))
Out[84]: [40, 50, 45, 15]

Solution 2:

You can just use Series.isin() with negation (~).

df[~df["user_id"].isin(set(user_id))]

Conversion to set is always preferable as you'll better running time.

Solution 3:

You can just change the user_id column to a list and then use list comprehension to find the ones that are in your original list not in the other list.

user_id = [10, 15, 20, 25, 30, 32, 40, 45, 50]
df = pd.DataFrame({'user_id': [10, 20, 25, 30, 32], 'value': [45, 49, 19, 58, 48]}
df_user_id = df['user_id'].tolist()
result = [x for x in user_id if x not in df_user_id]

[15, 40, 45, 50]

Post a Comment for "Find The List Values Not In Pandas Dataframe Data"