使用列和行索引向量化函数

布拉姆·齐尔斯特拉

我已经构建了一个程序,可以从一个数据帧中取出值,并将这些值用作另一个数据帧的输入。df_coordinate 是一个包含 x 和 y 坐标行的数据框(大小在 0 和 max_size_x 或 max_size_y 之间)。updated_coordinates 是一个具有屏幕大小的新数据帧,它使用坐标和一种欧几里得距离使坐标表示一个区域而不是一个像素。该代码按我的意图工作,但现在它很慢。我知道矢量化要快得多,我尽可能多地实现它。但是,我似乎找不到如何使用使用列和行索引的公式进行矢量化的方法。如您所见,使用 .apply 我使用 x.name 和 x.index,但是有没有办法更快地实现它?

max_size_x = 1080
max_size_y = 720

    for index, row in df_coordinate.iterrows():
        updated_coordinates = pd.DataFrame(np.zeros((max_size_x, max_size_y))) # to do: maybe empty instead of zeroes, and already delete the ones from attention_max
        current_time = df_coordinate.loc[index]
        coordinate_x = current_time['x_coordinate']
        coordinate_y = current_time['y_coordinate']

        # calculate area with Euclidean distance:
        updated_coordinates = updated_coordinates.apply(lambda x: 1/ ( np.power((np.sqrt(np.power(x.name-coordinate_x,2) + np.power(x.index-coordinate_y,2))),2)))
布拉姆·齐尔斯特拉

我找到了答案,通过在循环之外添加这个:

df_x = pd.DataFrame(np.zeros((image_size_x, image_size_y))) 
df_x = df_x.apply(lambda x: x.name) 
df_y = pd.DataFrame(np.zeros((image_size_x, image_size_y))) 
df_y = df_y.apply(lambda x: x.index) 

并用向量替换 .apply 函数:

updated_coordinates = 1/ ( * np.power((np.sqrt(np.power(df_x - gaze_x,2) + np.power(df_y - gaze_y,2))),2))

我已经检查过,这运行速度是其十倍以上。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过使用行和列的索引向量从数据帧中提取值?

来自分类Dev

根据行和列索引向量分配新的矩阵值

来自分类Dev

创建使用列索引向量将因子转换为字符串的函数

来自分类Dev

使用索引向量更改矩阵值

来自分类Dev

使用多个索引向量查找和计数字符串

来自分类Dev

如何不使用for循环而参考列索引向量更改矩阵的元素?

来自分类Dev

根据索引向量在numpy中重复行

来自分类Dev

使用条件和函数向量化嵌套循环

来自分类Dev

根据列索引向量选择data.table值

来自分类Dev

如何使用n个索引向量访问nD矩阵?

来自分类Dev

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

来自分类Dev

使用索引向量访问R中的n维数组

来自分类Dev

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

来自分类Dev

向量化代码的性能,以创建索引向量每行只有一个1的稀疏矩阵

来自分类Dev

使用索引向量将多个列聚合在一起的巧妙方法

来自分类Dev

创建排序向量的索引向量

来自分类Dev

使用两个等长向量为行和列索引对矩阵进行索引

来自分类Dev

使用索引向量从另一个向量生成向量

来自分类Dev

使用索引向量从另一个向量生成向量

来自分类Dev

向量化-Sum和Bessel函数

来自分类Dev

多元函数和向量化的庆祝活动

来自分类Dev

需要使用循环对函数进行向量化(用向量中的值替换NA行)

来自分类Dev

R:从具有x和y索引向量的矩阵或数据框中选择值的向量

来自分类Dev

向量化数组索引

来自分类Dev

使用Numpy向量化标量函数调用

来自分类Dev

如何使用NumPY向量化缩小函数?

来自分类Dev

使用numpy数组向量化函数

来自分类Dev

使用数组参数向量化函数

来自分类Dev

向量化函数-标量变量的索引无效

Related 相关文章

  1. 1

    通过使用行和列的索引向量从数据帧中提取值?

  2. 2

    根据行和列索引向量分配新的矩阵值

  3. 3

    创建使用列索引向量将因子转换为字符串的函数

  4. 4

    使用索引向量更改矩阵值

  5. 5

    使用多个索引向量查找和计数字符串

  6. 6

    如何不使用for循环而参考列索引向量更改矩阵的元素?

  7. 7

    根据索引向量在numpy中重复行

  8. 8

    使用条件和函数向量化嵌套循环

  9. 9

    根据列索引向量选择data.table值

  10. 10

    如何使用n个索引向量访问nD矩阵?

  11. 11

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

  12. 12

    使用索引向量访问R中的n维数组

  13. 13

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

  14. 14

    向量化代码的性能,以创建索引向量每行只有一个1的稀疏矩阵

  15. 15

    使用索引向量将多个列聚合在一起的巧妙方法

  16. 16

    创建排序向量的索引向量

  17. 17

    使用两个等长向量为行和列索引对矩阵进行索引

  18. 18

    使用索引向量从另一个向量生成向量

  19. 19

    使用索引向量从另一个向量生成向量

  20. 20

    向量化-Sum和Bessel函数

  21. 21

    多元函数和向量化的庆祝活动

  22. 22

    需要使用循环对函数进行向量化(用向量中的值替换NA行)

  23. 23

    R:从具有x和y索引向量的矩阵或数据框中选择值的向量

  24. 24

    向量化数组索引

  25. 25

    使用Numpy向量化标量函数调用

  26. 26

    如何使用NumPY向量化缩小函数?

  27. 27

    使用numpy数组向量化函数

  28. 28

    使用数组参数向量化函数

  29. 29

    向量化函数-标量变量的索引无效

热门标签

归档