Python 如何在pandas中删除一系列列?
我有一个非常大的数据帧,有108列和8000行,我想删除一些列。 它没有特定的列名,只有索引作为列名 我要删除的列是从74到104 我试过: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],
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