当前位置: 首页 > 面试题库 >

通过不在列表中的索引值对Pandas数据框进行切片

申查猛
2023-03-14
问题内容

我有一个pandas数据框df

我想选择在所有指数df不是 在列表中,blacklist.

现在,我使用列表理解来创建所需的标签以进行切片。

ix=[i for i in df.index if i not in blacklist]  
df_select=df.loc[ix]

工作正常,但如果我经常需要这样做可能会很笨拙。

有一个更好的方法吗?


问题答案:

isin在索引上使用并反转布尔索引以执行标签选择:

In [239]:

df = pd.DataFrame({'a':np.random.randn(5)})
df
Out[239]:
          a
0 -0.548275
1 -0.411741
2 -1.187369
3  1.028967
4 -2.755030
In [240]:

t = [2,4]
df.loc[~df.index.isin(t)]
Out[240]:
          a
0 -0.548275
1 -0.411741
3  1.028967


 类似资料:
  • 我有一个dataframe,。 我想选择中不在列表中的所有索引,

  • 问题内容: 我有一个看起来像这样的数据框: 它是使用以下代码创建的: 我要做的是根据预定义的列表对行(带有索引)进行排序。结果是: 我该如何实现? 问题答案: 你可以使用预定义的顺序设置指标像 但是,如果按字母顺序排列,则可以使用 如下所示,您需要将其分配给一些变量

  • 我希望的工作方式与相同,以符合Python索引约定。不支持按单个整数索引行是否有设计原因?

  • 问题内容: 我最近在大型数据框及其关联的多索引中遇到了此问题。这个简化的示例将演示该问题。 产生: 现在快速浏览一下索引 如果我对该数据帧进行切片,我会注意到多重索引永远不会凝聚。即使是深复制。 减少分片操作中索引的内存占用的最佳方法是什么? 查看数据帧如何减少,但索引没有减少。 即使使用.copy(deep = True) 我希望MultiIndex除去6,如下所示: 当数据帧很大时,实际上就会

  • 基于单个值/标签的切片 基于一个或多个级别的多个标签的切片 布尔条件和表达式的过滤 哪些方法适用于什么情况 为简单起见的假设: 输入数据表没有重复的索引键 下面的输入数据只有两个级别。(此处所示的大多数解决方案都概括为N个级别) 问题2b 我如何获得级别“二”中对应于“t”和“w”的所有值? 如何从检索横截面,即具有索引特定值的单行?具体来说,如何检索的横截面,由 如何选择与和相对应的两行?

  • 问题内容: 我敢肯定有一种明显的方法可以做到这一点,但现在还不能想到任何光滑的东西。 基本上不是引发异常,而是要获取或查看pandas索引中是否存在值。 我现在工作的是以下内容 问题答案: 这应该可以解决问题