Skip to main content
 首页 » 编程设计

python之从 Python 中的数组中删除列

2025年05月04日11itcoder

我有一个 2D Python 数组,我想从中删除某些列,但在代码运行之前我不知道要删除多少列。

我想遍历原始数组中的列,如果任何一列中的行总和大约是某个值,我想删除整列。

我开始这样做的方式如下:

for i in range(original_number_of_columns) 
    if sum(original_array[:,i]) < certain_value: 
        new_array[:,new_index] = original_array[:,i] 
        new_index+=1 

但后来我意识到我必须先定义 new_array,然后告诉 Python 它的大小。但是我事先不知道它的大小。

我之前绕过了这个问题,首先遍历列以找出我将丢失多少列,然后定义 new_array,最后运行上面的循环 - 但显然会有更有效的方法来做这些事情!

谢谢。

请您参考如下方法:

您可以使用以下内容:

import numpy as np 
 
a = np.array([ 
        [1, 2, 3], 
        [4, 5, 6], 
        [7, 8, 9] 
    ] 
) 
 
print a.compress(a.sum(0) > 15, 1) 
 
[[3] 
 [6] 
 [9]]