当前位置: 首页 > 知识库问答 >
问题:

数据帧的同时多个子集列

邹桐
2023-03-14

给定一个数据帧saydf1,包含100列和100行,我需要列的子集。我想同时索引两个(或多个)列块。

例如,我想要的是:

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

但是我想要第1列到第20列以及第55列到第57列。我可以用两个单独的操作来实现这一点,并将它们连接起来,但我想知道是否有一个功能可以让这一点只需一次(我知道R有这个功能,因此好奇)。

编辑:我在这里发现了一个类似的问题,但答案是字符串。可以进行多个子集设置的解决方案将非常有用。

共有2个答案

蒙洛华
2023-03-14

您可以使用列号列表:

df.iloc[:, list(range(1,21)) + (list(range(55,58)))]
邹斌
2023-03-14

你可以用Numpy.r_:

import numpy as np
df.iloc[:, np.r_[1:20, 55:57]]
 类似资料:
  • 我有两个数据框,都包含英文和中文单词字符串,我想知道其中一个是另一个的子集:

  • 我有两个不同列数和行数的CSV文件。第一个CSV文件有M列和N行,第二个文件有H列和G行。一些列具有相同的名称。 null 另外,如果两个CSV文件有两个数据帧,并希望这样做,例如,如果我将第一个CSV加载到中,将第二个加载到中,然后希望合并到,类似于上面的示例。

  • 我正在尝试创建5个成员的10个不同子集,而不需要替换这些数据(在Python中): 我尝试使用random.sample()的许多变体来表示范围内的。什么都没用。到目前为止,堆栈溢出似乎没有给我提供所需的结果。

  • 我有两个数据帧,它们的列名相同,但行数不同。第一个数据帧(a)看起来与此类似: 注:站点5、6、8和12故意丢失。 第二个数据帧(b)看起来像这样: 我想要实现的是: 在那里我注入(我肯定有一个更好的术语)数据帧b到数据帧a的数据,但是我想用零替换b中的任何NAs,并保持a中的NAs不变。 我发现并尝试了这个代码: 但它会带来NAs。我考虑先将NAs替换为零,但即使如此,它也会抹去我目前在数据帧a

  • 对于以下两个数据帧: 我只想保留中列中的值与的列中的值重叠的行,即生成以下数据帧: 我已经尝试了很多方法,但我对python和pandas还不熟悉,不喜欢R的语法。为什么这行代码不起作用,什么会起作用?

  • 我正在尝试基于第二个数据框的值周围的范围创建一个数据框的子集,我一直在进行研究,但我就是想不出如何去做。我在这里使用了虚拟数据,因为它们都是包含许多列的大型数据集。 数据帧1(df1)有50列,数千条不同纬度的记录 数据帧2(df2)有数百个城镇,都位于不同纬度,比df1小得多 我需要df1的一个子集,它只包括纬度在df2纬度0.01范围内的行。所以代码需要查看df1的每一行,并根据df2的每一行