【问题标题】:Select multiple ranges of columns in Pandas DataFrame在 Pandas DataFrame 中选择多个列范围
【发布时间】:2017-05-06 12:21:53
【问题描述】:

我必须阅读一些 Excel 格式的文件和一些 CSV 格式的文件。有些文件有数百列。

有没有办法在不指定所有列名或位置的情况下选择多个列范围?例如选择第 1 -10、15、17 和 50-100 列:

df = df.ix[1:10, 15, 17, 50:100]

在从 Excel 文件和 CSV 文件创建数据框时以及在创建数据框之后,我都需要知道如何执行此操作。

【问题讨论】:

    标签: python pandas numpy dataframe


    【解决方案1】:

    使用np.r_

    np.r_[1:10, 15, 17, 50:100]
    
    array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 15, 17, 50, 51, 52, 53, 54, 55,
           56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
           73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
           90, 91, 92, 93, 94, 95, 96, 97, 98, 99])
    

    这样你就可以了

    df.iloc[:, np.r_[1:10, 15, 17, 50:100]]
    

    【讨论】:

    • 这也适用于过滤行。非常好,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 2015-09-15
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    相关资源
    最近更新 更多