Pandas Dataframe 中的索引行不在索引列表中(Python)[重复]

Posted

技术标签:

【中文标题】Pandas Dataframe 中的索引行不在索引列表中(Python)[重复]【英文标题】:Index rows in Pandas Dataframe not in List of Indexes (Python) [duplicate] 【发布时间】:2021-11-11 14:17:33 【问题描述】:

我正在尝试用列表中不包含的行来索引 Dataframe 的行。例如,这里我们提取数据帧(数据)的第 1,2 和 4 行。但我想提取除这些行之外的所有内容(例如第 3、5 和 6 行):

idx = [1,3,4]
subset= data.iloc[idx , :]

到目前为止,我尝试了这个,但得到以下错误:

try = data.iloc[not idx, :]
ValueError: Location based indexing can only have [integer, integer slice (START point is INCLUDED, END point is EXCLUDED), listlike of integers, boolean array] types

【问题讨论】:

【参考方案1】:

试试这个:

data.loc[~ data.index.isin(idx)]

【讨论】:

以上是关于Pandas Dataframe 中的索引行不在索引列表中(Python)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

pandas重新索引

Pandas | 08 重建索引

使用均值合并 Pandas 中的 DataFrame

如何在 pandas Dataframe KeyError: False 中索引出数字的值

Python Pandas Dataframe 将特定的日期时间行标签设置为索引中的字符串?

pandas使用groupby函数基于指定分组变量对dataframe数据进行分组使用groups属性获取每个分组的样本对应的在原dataframe中的行索引位置列表