Trying to strip a certain part but throw an error "None of index in the columns"
Dataset :
Code snippets :
df4 = df[df["Rating"].notna()]
df4 = df4[df4["Rating"].str.strip("%").astype(int)]
df4
Error:
KeyError: "None of [Int64Index([ 36, 97, 97, 95, 96, 86, 89, 95, 92, 95,\n ...\n 100, 92, 99, 100, 97, 100, 82, 97, 80, 97],\n dtype='int64', length=335)] are in the [columns]"
df5 = df[df["Experience"].str.strip("years experience")]
df5
Error :
KeyError: "None of [Index(['5', '22', '25', '12', '33', '13', '15', '5', '12', '13',\n ...\n '20', '28', '26', '11', '13', '19', '15', '14', '40', '41'],\n dtype='object', length=610)] are in the [columns]"
you can not do operations like this;
df4 = df4[df4["Rating"].str.strip("%").astype(int)]
try to useapply
in suitable manner. for example;df4 = df4["Rating"].apply(lambda x: x.strip("%")).astype(int)
And,
your first line
df[df["Rating"].notna()]
works becausedf["Rating"].notna()
returns boolean series and outerdf[]
operate on a that series such a way that remain records that giveTrue
for the series.