【问题标题】:Pandas select columns using slicing and integer indexPandas 使用切片和整数索引选择列
【发布时间】:2017-01-13 12:26:38
【问题描述】:

我正在尝试选择第 2 列和第 4 列:(第 4 列直到最后):

df3.iloc[:, [2, 4:]]

文件“”,第 1 行
df3.iloc[:, [2, 4:]]
___________^
SyntaxError: 无效语法

我显然收到一条错误消息。 col 4 后面有很多列,所以写这样的东西感觉不对:[2, 4, 5, 6, 7, ...]

还有其他快速的方法吗?

【问题讨论】:

    标签: python pandas indexing dataframe slice


    【解决方案1】:

    您可以将rangeshape 一起使用:

    df3 = pd.DataFrame({'A':[1,2,3],
                       'B':[4,5,6],
                       'C':[7,8,9],
                       'D':[1,3,5],
                       'E':[5,3,6],
                       'F':[7,4,3]})
    
    print (df3)
       A  B  C  D  E  F
    0  1  4  7  1  5  7
    1  2  5  8  3  3  4
    2  3  6  9  5  6  3
    
    cols = ([2] + list(range(4,df3.shape[1])))
    print (cols)
    [2, 4, 5]
    
    print (df3.iloc[:,cols])
       C  E  F
    0  7  5  7
    1  8  3  4
    2  9  6  3
    

    numpy.r_ 的另一个解决方案:

    cols1 = np.r_[2, np.arange(4,df3.shape[1])]
    print (cols1)
    [2 4 5]
    
    print (df3.iloc[:,cols1])
       C  E  F
    0  7  5  7
    1  8  3  4
    2  9  6  3
    

    【讨论】:

      猜你喜欢
      • 2018-10-07
      • 2021-11-08
      • 2017-11-24
      • 2017-08-11
      • 2018-12-29
      • 2015-08-21
      • 1970-01-01
      • 2021-04-10
      • 2017-03-10
      相关资源
      最近更新 更多