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