从数据框中删除多列

时间:2020-06-15 22:38:09

标签: python pandas dataframe

我有以下代码段

{数据集:https://www.internationalgenome.org/data-portal/sample}

genome_data = pd.read_csv('../genome')
genome_data_columns = genome_data.columns

genPredict = genome_data[genome_data_columns[genome_data_columns != 'Geuvadis']]

这将删除Geuvadis列,有没有办法我可以包含多个列?

3 个答案:

答案 0 :(得分:1)

您可以先不阅读它们吗?

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

read_csv中的“ usecols”选项可让您指定要包含在DataFrame中的数据列。

Venkatesh-PrasadRanganath是如何删除多列的正确答案。

但是,如果您要避免将数据读入您不打算使用的内存中,基因组数据= pd.read_csv('../ genome',usecols = [“ only”,“ required”,“ columns”]是要使用的语法。

答案 1 :(得分:1)

您可以像base::FilePath MaybeNormalizePath(const base::FilePath& path) { #if defined(OS_WIN) // Normalize any drive letter to upper-case. We do this for consistency with // net_utils::FilePathToFileURL(), which does the same thing, to make string // comparisons simpler. base::FilePath::StringType path_str = path.value(); if (path_str.size() >= 2 && path_str[0] >= L'a' && path_str[0] <= L'z' && path_str[1] == L':') path_str[0] = towupper(path_str[0]); return base::FilePath(path_str); #else return path; #endif } https://chromium.googlesource.com/chromium/chromium/+/refs/heads/trunk/extensions/common/id_util.cc 一样使用DataFrame.drop

答案 2 :(得分:0)

我认为@ Venkatesh-PrasadRanganath的答案更好,但是对您的尝试采取类似的方法,这就是我的方法。

  1. columns.to_list()'
  2. 标识所有列
  3. 创建要排除的列的列表
  4. list(set() - set())减去要从完整列表中排除的列
  5. 选择其余的列。

    genome_data = pd.read_csv('../genome')
    all_genome_data_columns = genome_data.columns.to_list()
    excluded_genome_data_columns = ['a', 'b', 'c'] #Type in the columns that you want to exclude here.
    genome_data_columns = list(set(all_genome_data_columns) - set(excluded_genome_data_columns))
    genPredict = genome_data[genome_data_columns]
    
相关问题