有人可以帮助我了解.index在这段代码中做什么吗?

时间:2019-10-01 18:40:24

标签: python pandas indexing

我有以下代码:

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

我了解查询要执行的操作,但是我不知道为什么需要添加“ .index”部分?

.index在此特定代码中的作用是什么?

对于上下文,数据框如下所示: enter image description here

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

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

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

2 个答案:

答案 0 :(得分:0)

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

因此,从上面的代码中,

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

希望这会有所帮助!

答案 1 :(得分:0)

我检查了df.drop()的文档。它说它按索引下降。该代码首先查找数量为0的项目,但是由于drop()与索引一起使用,它将代码将这些项目发送回数据框并接收其索引。那是index

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