数据框的同时多个子集列

Posted

技术标签:

【中文标题】数据框的同时多个子集列【英文标题】:Simultaneous multiple subsetting columns of a dataframe 【发布时间】:2019-09-10 14:53:04 【问题描述】:

假设数据框 df1 有 100 列和 100 行,我想要列的一个子集。我想同时索引两个(或多个)列块。

例如,我想要这样的东西:

df1[:, [1:20, 55:57]](显然,这不起作用)

但是我想要第 1 到 20 列以及第 55 到 57 列。我可以使用两个单独的操作来执行此操作并加入它们,但我想知道是否有一个功能可以一次性完成(我知道 R 具有该功能,因此具有好奇心)。

编辑:我发现了一个类似的问题here,但答案是针对字符串的。可以完成多个子集的解决方案将非常有帮助。

【问题讨论】:

【参考方案1】:

你可以使用 numpy.r_:

import numpy as np
df.iloc[:, np.r_[1:20, 55:57]]

【讨论】:

这让事情变得简单多了。谢谢。【参考方案2】:

您可以使用列号列表:

df.iloc[:, list(range(1,21)) + (list(range(55,58)))]

【讨论】:

以上是关于数据框的同时多个子集列的主要内容,如果未能解决你的问题,请参考以下文章

在R中,获取数据框的子集,其中列中的值包含在列表中[重复]

在数据框的选定列中包含 NA(缺失)值的行子集

按名称切片数据框的列[重复]

如何使用for循环或条件在pandas数据框的子集中创建多个回归模型(statsmodel)?

R语言使用ggplot2同时可视化dataframe的多个数据列实战:多个数据列可视化在同一个图中多个数据列可视化在多个图中(纵向多个子图)

[备忘]不用许可证 多线程直接操作界面组件比如超级列表框的实现