【问题标题】:dataframe column slices excluding specific columns不包括特定列的数据框列切片
【发布时间】:2017-02-05 11:35:22
【问题描述】:

如果我不希望选择特定且非顺序定位的列,我将如何对具有大量列的 pandas 数据框进行切片?一种选择是删除特定的列,但我可以这样做:

df = pd.DataFrame(np.random.randint(0,100,(2,10)),columns=list('abcdefghij'))
df.iloc[:,~[1,4,9]]

【问题讨论】:

    标签: python pandas dataframe slice


    【解决方案1】:

    你可以这样做:

    In [66]: cols2exclude = [1,4,9]
    
    In [67]: df.iloc[:, df.columns.difference(df.columns[cols2exclude])]
    Out[67]:
        a   c   d   f   g   h   i
    0  12  37  39  46  22  71  37
    1  72   3  17  30  11  26  73
    

    或:

    In [68]: df.iloc[:, ~df.columns.isin(df.columns[cols2exclude])]
    Out[68]:
        a   c   d   f   g   h   i
    0  68  49  90   9  48  36  26
    1   6  72  98  49  44  10  36
    

    【讨论】:

    • 谢谢。他们都工作,虽然,我发现第二个更直观
    猜你喜欢
    • 2021-05-02
    • 2021-06-17
    • 2019-01-12
    • 2019-10-26
    • 2021-12-29
    • 2023-01-08
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多