如何有效删除庞大的数据帧Python中的多个列

时间:2017-04-20 18:17:30

标签: python performance for-loop dataframe multiple-columns

我有一个包含75750列的数据框。 我正在尝试自动获取5个特定列,因为我需要来自这5列中每一列的数据来生成绘图。 我正在使用一个非常慢的for循环。 max_list包含5个生成的标签,因此我不知道每个标签在巨大的数据框中可能引用哪些列。因此,无法手动选择列,也不能在生成max_list之前知道列。

nonmatchingStringProvider

代码有效,但它需要预测!在完成运行之前,其他任何代码都不会运行。 我试图获得cython,但它无法正常工作。我正在使用最新版本的Jupyter笔记本和Python 3.6。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

了解一些问题,假设我们想对max_list中除列之外的所有列进行切片,并且我们在数据集中可能有很多列和行。

在迭代过程中,我们将删除不在列表中的项目,并将其添加到所需的新列表中。

max_list = ["column7000", "column200", "column15000", "column30", "column2"]

max_frame_1 = max_frame[:]   # let's take a copy of actual dataset

desired = [max_frame_1.remove(item) for item in max_frame_1 if not in max_list]

如果可行,希望这是最快捷的方法。

此外,当我们有大量数据并且锻炼较少时,我们需要尝试尽可能简单。