使用Python从数据帧中删除多列

使用Python从数据帧中删除多列,python,pandas,dataframe,data-manipulation,Python,Pandas,Dataframe,Data Manipulation,我知道如何使用Python从数据帧中删除列。但对于我的问题,数据集是巨大的,我想要删除的列被分组在一起,或者基本上是在列标题轴上分散的。有没有一种更短的方法可以用更少的代码行分割或删除所有列,而不是像我这样写出来。我在这里所用的方法是有效的,但我想用一种更概括的方法 flight_data_copy_final是应存储该数据的变量 这是我的密码: from IPython.display import display flight_data_copy_version1 = flight_dat

我知道如何使用Python从数据帧中删除列。但对于我的问题,数据集是巨大的,我想要删除的列被分组在一起,或者基本上是在列标题轴上分散的。有没有一种更短的方法可以用更少的代码行分割或删除所有列,而不是像我这样写出来。我在这里所用的方法是有效的,但我想用一种更概括的方法

flight_data_copy_final是应存储该数据的变量

这是我的密码:

from IPython.display import display

flight_data_copy_version1 = flight_data_copy.drop(flight_data_copy.ix[:,"Year": "FlightDate"].columns, axis=1)
flight_data_copy_version2 = flight_data_copy_version1.drop("TailNum", axis=1)
flight_data_copy_version3 = flight_data_copy_version2.drop("OriginStateFips", axis=1)
flight_data_copy_version4 = flight_data_copy_version3.drop("DestStateFips", axis=1)
flight_data_copy_version5 = flight_data_copy_version4.drop("Diverted", axis=1)
flight_data_copy_version6 = flight_data_copy_version5.drop("Flights", axis=1)
flight_data_copy_final = flight_data_copy.drop(flight_data_copy_version6.ix[:,"FirstDepTime":].columns, axis=1)

print (display (flight_data_copy_final))

要在pandas中同时删除多个列,可以指定列名,如下所示。如果希望在同一数据帧中显示受更改影响的列,则需要选项
inplace=True
。否则,请将其移除

flight_data_copy.drop(['TailNum', 'OriginStateFips', 
                'DestStateFips', 'Diverted'], axis=1, inplace=True)

来源:

你可以这样做:
df.drop(['col1','col2','col5','colN',],1)
你不需要分配这么多中间变量。您可以执行
df.drop('col1',axis=1)。drop('col2',axis=1)…
。或者最好在一次操作中删除所有列,并可能使用
df.drop(['col1','col2','col5','colN',],axis=1,inplace=True)替换