Python 优化向量创建

Python 优化向量创建,python,optimization,vector,Python,Optimization,Vector,我有一个1.000.000行的矩阵,我一行一行地读取,并希望在特定列的每个元素上运行一个函数。相关列中的元素是介于1和1115之间的整数。功能如下: def vectorized_id(j): """Return a 1115-dimensional unit vector with a 1.0 in the j-1'th position and zeroes elsewhere. """ j = j - 1 e = [0] * 1115

我有一个1.000.000行的矩阵,我一行一行地读取,并希望在特定列的每个元素上运行一个函数。相关列中的元素是介于1和1115之间的整数。功能如下:

def vectorized_id(j):
    """Return a 1115-dimensional unit vector with a 1.0 in the j-1'th position
    and zeroes elsewhere.
    """
    j = j - 1    
    e = [0] * 1115
    e[j] = 1.0
    return e

问题是它很慢,如果可能的话,我想通过优化它来节省时间。它能做得更快吗?

您可以尝试在线执行此操作—消除函数调用的开销,并摆脱j=j-1—只需考虑使用某种稀疏数据结构即可,例如-