小编Suy*_*tty的帖子

如何使用numpy使用索引向量从矩阵中提取元素?

假设我有一个mxn阶的矩阵A和mx1的矢量.我想通过使用向量的元素作为每行中的偏移量来从矩阵A的每一行中提取元素.

例如,

A = [[3, 0, 0, 8, 3],
    [9, 3, 2, 2, 6],
    [5, 5, 4, 2, 8],
    [3, 8, 7, 1, 2],
    [3, 9, 1, 5, 5]]
Run Code Online (Sandbox Code Playgroud)

和一个矢量

y = [4,2,1,3,2]
Run Code Online (Sandbox Code Playgroud)

我想要实现的是我想要一种方法来提取A的元素,使得向量的每个元素索引A的相应行中的元素,即实现

for i in xrange(y):
    A[i,y[i]] = #perform operations here
Run Code Online (Sandbox Code Playgroud)

不使用任何显式循环.

预期的输出是,

[3,2,5,1,1]
Run Code Online (Sandbox Code Playgroud)

我正在使用Python和numpy库.

谢谢您的帮助!

python numpy vector matrix matrix-indexing

8
推荐指数
1
解决办法
5876
查看次数

如何使用NumPy在Python中读取二进制文件?

我知道如何使用NumPy的np.fromfile()函数在Python中读取二进制文件.我面临的问题是,当我这样做时,数组的数量非常大,大约为10 ^ 100左右,具有随机值naninf值.

我需要将机器学习算法应用于此数据集,我无法使用此数据.由于nan值,我无法规范化数据集.

我尝试过,np.nan_to_num()但似乎没有用.这样做之后,我的最小值和最大值分别为3e-38和3e + 38,所以我无法将其标准化.

有没有办法缩小这些数据?如果没有,我应该如何处理?

谢谢.

编辑:

一些背景.我正在研究恶意软件分类问题.我的数据集由实时恶意软件二进制文件组成.它们是.exe,.apk等类型的文件.我的想法是将这些二进制文件存储为numpy数组,转换为灰度图像,然后对其执行模式分析.

python numpy machine-learning data-mining

4
推荐指数
1
解决办法
2万
查看次数