Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从大数据帧中删除pandas中的列(从开始到结束)最有效的方法是什么?_Python_Pandas - Fatal编程技术网

Python 从大数据帧中删除pandas中的列(从开始到结束)最有效的方法是什么?

Python 从大数据帧中删除pandas中的列(从开始到结束)最有效的方法是什么?,python,pandas,Python,Pandas,我试图从pandas数据帧的开始和结束处删除一些列 我的数据框有397行和291列。我目前有此解决方案来删除前8列,但我也希望在最后删除一些列: SMPS_Data = SMPS_Data.drop(SMPS_Data.columns[0:8], axis=1) 我知道我可以重复这一步并删除最后几列,但我希望有一种更直接的方法来解决这个问题 我试着用 SMPS_Data = SMPS_Data.drop(SMPS_Data.columns[0:8,278:291], axis=1) 但它不起

我试图从pandas数据帧的开始和结束处删除一些列

我的数据框有397行和291列。我目前有此解决方案来删除前8列,但我也希望在最后删除一些列:

SMPS_Data = SMPS_Data.drop(SMPS_Data.columns[0:8], axis=1)
我知道我可以重复这一步并删除最后几列,但我希望有一种更直接的方法来解决这个问题

我试着用

SMPS_Data = SMPS_Data.drop(SMPS_Data.columns[0:8,278:291], axis=1)
但它不起作用

此外,.drop方法似乎在某种程度上降低了控制台的响应速度,因此可能有一种更干净的方法可以做到这一点?

如果您想按列名称删除列,可以使用它

drop_these = ['column_name1', 'column_name2', 'last_columns']
df = df.drop(columns=drop_these)
如果您知道要按位置删除它们,可以使用:


有关更多信息,请参阅关于熊猫索引和切片数据的部分。

为什么不选择需要保留的范围:df.iloc[:,8:278]?同时请记住,可以从后面索引,即8:-15良好点。另外,这也很好,我认为:SMPS_Data=SMPS_Data.filterSMPS_Data.columns[9:287],axis=1完美。iloc绝对是最干净的方式,这就是我最终使用的方式。非常感谢。
df.iloc[:, 8:15]  # For columns 8-15
df.iloc[:, :-5]   # For all columns, except the last five
df.iloc[:. 2:-5]  # For all columns, except the first column, and the last five