我正在编写一个可以根据用户输入更改数据帧值的函数。数据框来自csv文件,其中包含学生及其信息(性别、种族、专业等),代码旨在让用户识别任何错误(例如错误的性别)并提供正确的值,然后让代码替换它。我成功地使代码创建了一个包含所有正确值的行的新数据框架。我试图删除(使用.drop())旧行,所以我可以用新行替换它,但这就是我得到错误的地方。在代码的开头部分,我得到了值'student_num',这基本上是行索引。
df = df.drop(df[student_num])
,但我得到了一个错误,这是有一个问题的索引这一行。下面是错误:
3621 return self._engine.get_loc(casted_key)
3622 except KeyError as err:
3623 raise KeyError(key) from err
3624 except TypeError:
3625 # If we have a listlike key, _check_indexing_error will raise
3626 # InvalidIndexError. Otherwise we fall through and re-raise
3627 # the TypeError.
3628 self._check_indexing_error(key)
KeyError: 15
如果你只是想从df中删除存储在student_num中的索引行,只需使用
df.drop(student_num)
对于将来,如果您想删除多个行,请使用
df.drop([student_num,student_name])