问题描述
试图剥离某个部分但抛出错误“列中没有索引”
数据集:
代码片段:
df4 = df[df["rating"].notna()]
df4 = df4[df4["rating"].str.strip("%").astype(int)]
df4
错误:
KeyError: "None of [Int64Index([ 36,97,95,96,86,89,92,\n ...\n 100,99,100,82,80,97],\n dtype='int64',length=335)] are in the [columns]"
df5 = df[df["Experience"].str.strip("years experience")]
df5
错误:
KeyError: "None of [Index(['5','22','25','12','33','13','15','5',\n ...\n '20','28','26','11','19','14','40','41'],\n dtype='object',length=610)] are in the [columns]"
解决方法
你不能做这样的操作; df4 = df4[df4["Rating"].str.strip("%").astype(int)]
尝试以合适的方式使用 apply
。例如; df4 = df4["Rating"].apply(lambda x: x.strip("%")).astype(int)
还有,
您的第一行 df[df["Rating"].notna()]
之所以有效,是因为 df["Rating"].notna()
返回布尔系列,而外部 df[]
对该系列进行操作,从而保留为该系列提供 True
的记录。