从pandas df中选择特定的列

时间:2018-08-22 03:58:16

标签: python pandas

是否有一种有效的方法可以从dropn columns个数量的pandas df。例如,如果您不希望超出特定列,可以合并函数df.drop > n

对于下面的df,我要删除column 2之后的所有内容。我通过这样做。

import pandas as pd

d = ({
    '1' : ['X','Y'],  
    '2' : ['A','B'], 
    '3' : ['C','D'],   
    '4' : ['A','B'], 
    '5' : ['C','D'], 
     })

df = pd.DataFrame(data=d)

df = df.drop(['3','4','5'], axis = 1)

但是,如果数量多于或少于5 columns,我将不得不手动添加或减去column values。如果我不断这样做,将会变得很麻烦。

1 个答案:

答案 0 :(得分:1)

您可以使用df.iloc,

df=df.iloc[:,:3] #sliced based on indices. will keeps columns 0 to 2 (indices).
(or)
df=df.loc[:,:'3'] #sliced based on column names
print(df)
1   2   3
X   A   C
Y   B   D