【问题标题】:Can someone help me understand what .index is doing in this code?有人可以帮我理解 .index 在这段代码中做了什么吗?
【发布时间】:2019-10-01 18:40:24
【问题描述】:

我有以下代码:

print(df.drop(df[df['Quantity'] == 0].index).rename(columns={'Weight': 'Weight (oz.)'}))

我了解查询要做什么,但我不知道为什么需要添加“ .index ”部分?

.index 在这段特定代码中做了什么?

对于上下文,这里是数据框的样子:

我查看了数据帧索引的 python 文档:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.index.html

但不幸的是,它太模糊了,我无法理解。

【问题讨论】:

    标签: python pandas indexing


    【解决方案1】:

    DataFrame.index 是数据框中每条记录的索引。即使两行在每一列中具有相同的数据,它对于每一行也是唯一的。 DataFrame.drop 采用 index : single label or list-like 并删除那些与索引匹配的行。

    所以从上面的代码来看,

    df[df['Quantity'] == 0] 获取具有Quantity == 0 的行, df[df['Quantity'] == 0].index 获取所有具有谓词的行的索引, df.drop(df[df['Quantity'] == 0].index) 这会删除所有为该谓词返回 True 的索引。

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      我查看了df.drop() 的文档。它说它按索引下降。此代码首先查找数量为 0 的项目,但因为 drop() 与索引一起使用,它将项目发送回数据帧并接收它们的索引。那是index

      https://pandas.pydata.org/pandas-docs/stable//reference/api/pandas.DataFrame.drop.html

      【讨论】:

        猜你喜欢
        • 2020-11-03
        • 2015-06-28
        • 2018-04-26
        • 1970-01-01
        • 1970-01-01
        • 2015-07-14
        • 2015-12-06
        • 1970-01-01
        • 2021-01-04
        相关资源
        最近更新 更多