python - 从 Pandas Dataframe 中删除了行 - 现在索引搞砸了吗?

标签 python pandas dataframe

所以我在 pandas 中有一个数据框,其中包含一些患者的性别。我想按性别排序,所以我使用了:

df = df[df.Gender == 0]

但现在当我打印数据框时,我得到类似的东西:

    Gender
0     0
2     0
5     0

左侧的行索引保持在删除行之前的状态,并且不会“重新排序”回到 0、1、2 等,这使得现在很难或不可能迭代。我怎样才能重新排序行索引?

最佳答案

df = df[df.Gender == 0]

正在获取 df 的一部分,其中 df.Gender 等于 0。这正如你所料。它还带来了 df.Gender 等于 0 的每一行的行索引。这是正确的,并且有很多好处。

如果您不想看到它,而是希望它按从 0 到任何顺序排列,那么请按照其他人在评论中建议您做的那样去做。

df = df[df.Gender == 0].reset_index(drop=True)

关于python - 从 Pandas Dataframe 中删除了行 - 现在索引搞砸了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38575701/

相关文章:

python - 此应用程序无法启动,因为无法初始化 Qt 平台插件

python - 提交多部分/表单数据表单时应用引擎中的编码问题

Python:如何在特定时间窗口内对 pandas Data Frame 进行分组?

python - 如何使用 pandas 列中以前的 N 值来填充 NaN?

python - 将文件加载到没有列标题的 pandas DataFrame 不起作用

csv - Plots.jl 中包含空格的列名

r - 数据框条件多行

python - 提交前验证 WTForm

python - 如何强制 librosa 使用 ffmpeg 而不是 gstreamer

python - 根据行索引创建名为 "Id"的列