Reputation: 7275
This is my data
omzet_activity_paid_count_january_devices
No Text
1 dcbjkd
2 hdgfhds
3 dsdfs
33 jhsda
40 ydgyua
I am expecting to filter data like this
omzet_activity_paid_count_january_devices
No Text
3 dsdfs
40 ydgyua
This is what I did
user_internal = ['1','2','33']
omzet_activity_paid_count_january_devices = omzet_activity_paid_count_january_devices[~omzet_activity_paid_count_january_devices.No.isin(user_internal)]
The code above is not working, the output still like my original dataframe, what did I miss?
Upvotes: 2
Views: 6426
Reputation: 863541
I think there is problem you have mixed types - numeric with strings.
omzet_activity_paid_count_january_devices.No.dtype
dtype('O')
omzet_activity_paid_count_january_devices.No.head().tolist()
[1, 2, 3, 33, 40]
So convert column No
to strings:
user_internal = ['1','2','33']
mask = ~omzet_activity_paid_count_january_devices.No.astype(str).isin(user_internal)
omzet_activity_paid_count_january_devices = omzet_activity_paid_count_january_devices[mask]
Or change string
s from list to int
s:
user_internal = [1,2,33]
mask = ~omzet_activity_paid_count_january_devices.No.isin(user_internal)
omzet_activity_paid_count_january_devices = omzet_activity_paid_count_january_devices[mask]
Upvotes: 1