小编Abh*_*kur的帖子

Python数组到1-D Vector

是否有一种将结构化数组转换为向量的pythonic方法?

例如:

我正在尝试转换数组,如:

[(9,), (1,), (1, 12), (9,), (8,)]
Run Code Online (Sandbox Code Playgroud)

到一个像这样的矢量:

[9,1,1,12,9,8]
Run Code Online (Sandbox Code Playgroud)

python numpy

6
推荐指数
3
解决办法
2万
查看次数

堆叠稀疏和密集的矩阵

是否可以在python中堆叠稀疏和密集的numpy数组?我知道这可以使用vstack/hstack为密集的numpy数组完成.我有一些列,我想添加到稀疏矩阵,以增加特征向量的数量

python arrays numpy matrix scipy

6
推荐指数
1
解决办法
4070
查看次数

索引和查找namedtuples列表中的值

我有一个如下的命名元组,

tup = myTuple  (
                a=...,
                b=...,
                c=...,
                )
Run Code Online (Sandbox Code Playgroud)

where ...可以是任何值(字符串,数字,日期,时间等).现在,我列出了这些命名元组并想要查找,假设c = 1和a和b的对应值.有没有pythonic方式这样做?

python namedtuple

6
推荐指数
1
解决办法
3933
查看次数

前k个列,每行包含pandas数据帧中的值

我有一个像下面这样的pandas数据帧:

   A  B  C  D
0  7  2  5  2
1  3  3  1  1
2  0  2  6  1
3  3  6  2  9
Run Code Online (Sandbox Code Playgroud)

可以有100个列,在上面的例子中我只显示了4个.

我想为每一行及其值提取top-k列.

我可以使用以下方法获得top-k列:

pd.DataFrame({n: df.T[column].nlargest(k).index.tolist() for n, column in enumerate(df.T)}).T
Run Code Online (Sandbox Code Playgroud)

其中,对于k = 3给出:

   0  1  2
0  A  C  B
1  A  B  C
2  C  B  D
3  D  B  A
Run Code Online (Sandbox Code Playgroud)

但我想拥有的是:

   0  1  2  3  4  5
0  A  7  C  5  B  2
1  A  3  B  3  C  1
2  C …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

5
推荐指数
1
解决办法
831
查看次数

从两个不同的数组中选择最接近的值

假设我有一个numpy数组

A = [[1 2 3]
     [2 3 3]
     [1 2 3]]
Run Code Online (Sandbox Code Playgroud)

和另一个数组

B = [[3 2 3]
     [1 2 3]
     [4 6 3]]
Run Code Online (Sandbox Code Playgroud)

和一组真值:

C = [[1 4 3]
     [8 7 3]
     [4 10 3]]
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个数组D,其元素是从A或B中删除的,条件是每个元素与数组C的最接近的值.

有没有pythonic方式来做到这一点?现在我正在使用循环

python numpy

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

使用python flask显示OpenCV图像

我正在使用opencv和python flask API对图像进行一些处理。我想在浏览器中显示图像。

import cv2
from flask import Flask, request, make_response
import base64
import numpy as np
import urllib

app = Flask(__name__)


@app.route('/endpoint', methods=['GET'])
def process():
    image_url = request.args.get('imageurl')
    requested_url = urllib.urlopen(image_url)
    image_array = np.asarray(bytearray(requested_url.read()), dtype=np.uint8)
    img = cv2.imdecode(image_array, -1)


    # Do some processing, get output_img

    retval, buffer = cv2.imencode('.png', output_img)
    png_as_text = base64.b64encode(buffer)
    response = make_response(png_as_text)
    response.headers['Content-Type'] = 'image/png'
    return response

if __name__ == '__main__':
    app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)

但是,我得到的是空的无效图像作为输出。我究竟做错了什么?

python opencv flask

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

随机丢弃重复项

Pandas我们可以通过使用删除重复dataframe.drop_duplicates()项,默认情况下保留重复数据的第一行.如果keep_last = True,保留最后一行.我们如何使用pandas保留任何随机行并删除重复的行drop_duplicate

python pandas

3
推荐指数
2
解决办法
777
查看次数

所有行上的快点产品

我有一个2d numpy数组X = (xrows, xcols),我想在数组的每个行组合上应用点积,以获得另一个形状的数组P = (xrow, xrow).

代码如下所示:

P = np.zeros((xrow, xrow))
for i in range(xrow):
   for j in range(xrow):
      P[i, j] = numpy.dot(X[i], X[j])
Run Code Online (Sandbox Code Playgroud)

如果阵列X很小但是需要花费大量时间才能很好地工作X.有没有什么方法可以让它更快或更蟒蛇化,以便快速?

python arrays numpy

3
推荐指数
1
解决办法
1150
查看次数

如何在julia语言中使用set操作

我想set()在朱莉娅的python中使用它.有可能这样做吗?如果是,请使用以下python代码提供示例

set(A) - set(B)
Run Code Online (Sandbox Code Playgroud)

julia

3
推荐指数
1
解决办法
3280
查看次数

两个数组之间的余弦距离计算 - Python

我想应用一个函数fn,它本质上是cosine distance对两个形状为 (10000, 100) 和 (5000, 100) 的大型 numpy 数组按行进行计算,即我计算这些数组中每个行组合的值。

我的实现:

import math
def fn(v1,v2):
    sumxx, sumxy, sumyy = 0, 0, 0
    for i in range(len(v1)):
        x = v1[i]; y = v2[i]
        sumxx += x*x
        sumyy += y*y
        sumxy += x*y
    return sumxy/math.sqrt(sumxx*sumyy)
val = []
for i in range(array1.shape[0]):
    for j in range(array2.shape[0]):
        val.append(fn(array1[i, :], array2[j, :]))
Run Code Online (Sandbox Code Playgroud)

该函数非常快,只需要几毫秒:

CPU times: user 4 ms, sys: 0 ns, total: 4 ms
Wall time: 1.24 ms
Run Code Online (Sandbox Code Playgroud)

有什么有效的方法可以做到这一点吗?

python arrays performance numpy vectorization

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