使用Python从数据框中删除多个列

时间:2016-11-02 20:17:23

标签: python pandas dataframe data-manipulation

我知道如何使用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))

1 个答案:

答案 0 :(得分:13)

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

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

来源:Python Pandas - Deleting multiple series from a data frame in one command