Pass column index and range simultaneously in Pandas iloc

前端 未结 2 1802
被撕碎了的回忆
被撕碎了的回忆 2021-01-15 00:26

Suppose I have a dataframe with 100 columns. I want to select only 0,1 and 51-100 columns for all rows. I am trying something like this as of now:

df.iloc[:,         


        
相关标签:
2条回答
  • 2021-01-15 01:03

    You can do this without numpy.r_:

    new_df = df.iloc[:, [0, 1] + list(range(51,101))]
    
    0 讨论(0)
  • 2021-01-15 01:16

    I think you need numpy.r_ for concanecate indices:

    df.iloc[:,np.r_[0,1,51:102]]
    

    Sample:

    df = pd.DataFrame([[0] * 10], columns=list('abcdefghij'))
    print (df)
       a  b  c  d  e  f  g  h  i  j
    0  0  0  0  0  0  0  0  0  0  0
    
    print (df.iloc[:,np.r_[0,1,5:8]])
       a  b  f  g  h
    0  0  0  0  0  0
    
    0 讨论(0)
提交回复
热议问题