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

Dee*_*k M 8 python data-manipulation dataframe pandas

我知道如何使用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))
Run Code Online (Sandbox Code Playgroud)

Pra*_*thy 21

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

flight_data_copy.drop(['TailNum', 'OriginStateFips', 
                'DestStateFips', 'Diverted'], axis=1, inplace=True)
Run Code Online (Sandbox Code Playgroud)

来源:Python Pandas - 在一个命令中从数据框中删除多个系列


Md.*_*tan 20

    df.drop(columns=['col_1', 'col_2','col_N'])
Run Code Online (Sandbox Code Playgroud)

就我而言,我像这样解决它在这里输入图像描述

  • 我喜欢这个答案,使用“columns=”而不是“axis=1”代码更具可读性。我认为两者是等效的。 (4认同)
  • 为什么您更喜欢这个而不是接受的答案? (2认同)