Python 如何在pandas中删除一系列列?

Python 如何在pandas中删除一系列列?,python,pandas,Python,Pandas,我有一个非常大的数据帧,有108列和8000行,我想删除一些列。 它没有特定的列名,只有索引作为列名 我要删除的列是从74到104 我试过: df.drop(['74', '104'], axis = 1, inplace = True) 但它说: ['74' '104'] not found in axis 其中74和104是我要删除的列索引 我如何解决这个问题 提前感谢按索引删除列,例如: data= {1:[1,19,20,21,25,29,30,31,30,29,31],

我有一个非常大的数据帧,有108列和8000行,我想删除一些列。 它没有特定的列名,只有索引作为列名

我要删除的列是从74到104

我试过:

df.drop(['74', '104'], axis = 1, inplace = True)
但它说:

['74' '104'] not found in axis
其中74和104是我要删除的列索引

我如何解决这个问题


提前感谢

按索引删除列,例如:

data= {1:[1,19,20,21,25,29,30,31,30,29,31],
       2: [2,10,20,20,20,10,10,20,20,10,10],
       3: [3,10,20,20,20,10,10,20,20,10,10],
       4: [4,10,20,20,20,10,10,20,20,10,10]}
index= pd.date_range('12/1/2019', periods=11)

df=pd.DataFrame(data, index=index)
df

我会给你

            1   2   3   4
2019-12-01  1   2   3   4
2019-12-02  19  10  10  10
2019-12-03  20  20  20  20
2019-12-04  21  20  20  20
2019-12-05  25  20  20  20
2019-12-06  29  10  10  10
2019-12-07  30  10  10  10
2019-12-08  31  20  20  20
2019-12-09  30  20  20  20
2019-12-10  29  10  10  10
2019-12-11  31  10  10  10
然后假设您希望删除列0,1,2的索引:

df.drop(df.columns[[0,1,2]], axis=1, inplace=True)
预期结果:

            4
2019-12-01  4
2019-12-02  10
2019-12-03  20
2019-12-04  20
2019-12-05  20
2019-12-06  10
2019-12-07  10
2019-12-08  20
2019-12-09  20
2019-12-10  10
2019-12-11  10

按索引删除列,例如:

data= {1:[1,19,20,21,25,29,30,31,30,29,31],
       2: [2,10,20,20,20,10,10,20,20,10,10],
       3: [3,10,20,20,20,10,10,20,20,10,10],
       4: [4,10,20,20,20,10,10,20,20,10,10]}
index= pd.date_range('12/1/2019', periods=11)

df=pd.DataFrame(data, index=index)
df

我会给你

            1   2   3   4
2019-12-01  1   2   3   4
2019-12-02  19  10  10  10
2019-12-03  20  20  20  20
2019-12-04  21  20  20  20
2019-12-05  25  20  20  20
2019-12-06  29  10  10  10
2019-12-07  30  10  10  10
2019-12-08  31  20  20  20
2019-12-09  30  20  20  20
2019-12-10  29  10  10  10
2019-12-11  31  10  10  10
然后假设您希望删除列0,1,2的索引:

df.drop(df.columns[[0,1,2]], axis=1, inplace=True)
预期结果:

            4
2019-12-01  4
2019-12-02  10
2019-12-03  20
2019-12-04  20
2019-12-05  20
2019-12-06  10
2019-12-07  10
2019-12-08  20
2019-12-09  20
2019-12-10  10
2019-12-11  10

使用索引引用列时,应将它们视为整数

落差[74,104],轴=1,原地=真 例如:

>>>df=pd.数据帧[[1,2,3],[4,5,6]] >>>df 0 1 2 0 1 2 3 1 4 5 6 >>>测向下降[1],轴=1 0 2 0 1 3 1 4 6
使用索引引用列时,应将它们视为整数

落差[74,104],轴=1,原地=真 例如:

>>>df=pd.数据帧[[1,2,3],[4,5,6]] >>>df 0 1 2 0 1 2 3 1 4 5 6 >>>测向下降[1],轴=1 0 2 0 1 3 1 4 6
我可以用range删除列吗?从第0列到第2列的内容,但不写入所有列name@yangyang执行此操作:my_cols=[x代表范围74105中的x]并使用df.dropdf.columns[my_cols],axis=1,inplace=true是否还有其他方法可以使用范围删除列?从第0列到第2列的内容,但不写入所有列name@yangyang这样做:my_cols=[x代表范围74105中的x]并使用df.dropdf.columns[my_cols],axis=1,inplace=True