Python 中的矩阵向​​量运算

2023-12-23

我发过一个类似的帖子here https://stackoverflow.com/questions/53384285/initialize-the-first-index-of-a-list-in-python。现在我试图概括整个数字矩阵所做的事情。

具体来说我想这样做:

dates = []
dates.append(NDD_month[0])
for i in range(1,len(cpi)):
    dates.append((dates[i-1] + 12 - number_of_payments[:i]) % 12)
print(dates)

哪里的number_of_payments是一个类型矩阵<class 'list'>.

这是一个例子:

print(number_of_payments[:1])

is

[array([[0, 1, 0, 1, 1, 1, 0, 5, 1, 0, 2, 1]])]

执行完我想要的之后

print(dates[:1])

应该

[array([[8, 8, 7, 7, 6, 5, 4, 4, 11, 10, 10, 8]])]

或类似的东西。

EDIT:

这是我的数据的示例:

print(number_of_payments[:3])

这给了我这个:

[
    array(
    [
        [0, 1, 0, 1, 1, 1, 0, 5, 1, 0, 2, 1]
    ]),
    array(
    [
        [0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0],
        [1, 3, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0]
    ]),
    array(
    [
        [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],
        [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
        [1, 0, 2, 0, 2, 1, 1, 0, 2, 1, 0, 0]
    ])
]

print(NDD_month[:3])

Gives me

[8, 7, 11]

现在,对于我想要的答案,我想做一些类似的事情,就像我在之前的帖子中所做的那样

dates = []
dates.append(NDD_month[0])
for i in range(1, len(first_payments)):
    dates.append((dates[i-1] + 12 - first_payments[i-1]) % 12)
print(dates)

这给了我正确的输出

[8 8 7 7 6 5 4 4 11 10 10 8]

但现在既然我有了number_of_payments作为一个矩阵,我需要将相同的逻辑应用于这个更大的数据结构。如果清楚的话请告诉我。Edit 2:

好吧,这很难解释,所以我将逐步举例,我有这个数据或矩阵(number_of_ payment),无论它在Python中是什么:

    [[0, 1, 0, 1, 1, 1, 0, 5, 1, 0, 2, 1],
     [0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0],
     [1, 3, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0]]

我有另一个名为 NDD_month 的列表或向量,前三个元素是

[8, 7, 11]

现在为了简单起见,假设我只有第一行 number_of_ payment ,即

[0, 1, 0, 1, 1, 1, 0, 5, 1, 0, 2, 1]

为了简单起见,假设我只有 NDD_month 的第一个元素,所以

8

然后为了得到我寻求的答案,我会这样做,Aurora Wang 也提供了一个很好的答案,就是这个

first_payments = number_of_payments[:1]
first_payments = first_payments[0][0]
dates = []
dates.append(NDD_month[0])
for i in range(1, len(first_payments)):
    dates.append((dates[i-1] + 12 - first_payments[i-1]) % 12)
print(dates)

这给了我[8, 8, 7, 7, 6, 5, 4, 4, 11, 10, 10, 8].

现在我需要做同样的事情,但是对于矩阵中的每一行和 NDD_month 向量中的每个元素。我希望这能让事情变得更加清楚。

我以为这可能有用,但我又是 python 新手,这不起作用:

dates = []
for i in range(1,len(NDD_month)):
    dates.append(NDD_month[i-1])
    for j in range(1, len(NDD_month)):
        dates.append((dates[j-1] + 12 - number_of_payments[i-1][j-1]) % 12)
print(dates)

如果我理解正确的话,你想做这样的事情:

number_of_payments = [
    [0, 1, 0, 1, 1, 1, 0, 5, 1, 0, 2, 1],
    [0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0],
    [1, 3, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0]
]
NDD_month = [8, 7, 11]
dates = []
for i in range(len(number_of_payments)):
    dates.append([NDD_month[i]])
    for j in range(1, len(number_of_payments[i])):
        dates[i].append((dates[i][j-1] + 12 - number_of_payments[i][j-1]) % 12)
print(dates)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的矩阵向​​量运算 的相关文章

  • 在 Python 中搜索文本文件并打印相关行?

    如何在文本文件中搜索关键短语或关键字 然后打印关键短语或关键字所在的行 searchfile open file txt r for line in searchfile if searchphrase in line print line
  • Python 中字典的合并层次结构

    我有两本词典 而我想做的事情有点奇怪 基本上 我想合并它们 这很简单 但它们是字典的层次结构 我想以这样的方式合并它们 如果字典中的项目本身就是字典并且存在于两者中 我也想合并这些字典 如果它不是字典 我希望第二个字典中的值覆盖第一个字典中
  • Python 2.7从非默认目录打开多个文件(对于opencv)

    我在 64 位 win7 上使用 python 2 7 并拥有 opencv 2 4 x 当我写 cv2 imread pic 时 它会在我的默认 python 路径中打开 pic 即C Users Myname 但是我如何设法浏览不同的目
  • Pandas系列矢量化文本处理

    我想使用矢量化操作改进我的 Pandas 代码 假设我有一个简单的 DataFrame 其中有一个文本列 其中可能包含 url Column1 0 hello http www google com 1 bye www mail com w
  • 如何使用列表理解从列表中删除重复的项目? [复制]

    这个问题在这里已经有答案了 如何使用列表理解从列表中删除重复的项目 我有以下代码 a 1 2 3 3 5 9 6 2 8 5 2 3 5 7 3 5 8 b b item for item in a if item not in b 但它不
  • python下安装xgboost 32位msys失败

    尝试安装 xgboost 失败 Windows 和企业版版本为 Anaconda 2 1 0 64 位 我该如何继续 我一直在使用 R 似乎从 RStudio 在 R 中安装新包相当容易 但在间谍程序中则不然 因为我需要进入命令窗口来执行此
  • 如何在 Python 中从 C++/C# 紧密实现 ?: ?

    在 C 中 我可以轻松编写以下内容 string stringValue string IsNullOrEmpty otherString defaultString otherString 有没有一种快速的方法可以在 Python 中做同
  • While 在范围内循环用户输入

    我有一些代码 我想要求用户输入 1 100 之间的数字 如果他们在这些数字之间输入一个数字 它将打印 Size input 并打破循环 但是 如果他们在外部输入一个数字1 100 它将打印 大小 输入 并继续向他们重新询问一个数字 但我遇到
  • Python 请求包含有值的参数和没有值的参数

    我正在为 API 编写一个 Python 包装器 该 API 支持具有值的查询参数 例如param1如下 和查询参数do not有价值观 例如param2如下 即 https example com service param1 value
  • Pythonwinsound,ASYNC 标志不起作用?

    我正在使用 python 3 5 我试图在继续执行脚本的同时播放声音 根据https docs python org 3 5 library winsound html https docs python org 3 5 library w
  • 调度算法,找到设定长度的所有非重叠区间

    我需要为我的管理应用程序实现一种算法 该算法将告诉我何时可以将任务分配给哪个用户 我实现了一个蛮力解决方案 它似乎有效 但我想知道是否有更有效的方法来做到这一点 为了简单起见 我重写了算法以对数字列表进行操作 而不是数据库查询等 下面我将尝
  • .NET 是否有相当于 Python 中的 **kwargs 的功能?

    我一直无法通过典型渠道找到这个问题的答案 在Python中我可以有以下函数定义 def do the needful kwargs Kwargs is now a dictionary i e do the needful spam 42
  • 使用迭代器遍历 boost::ublas 矩阵

    我只是想从头到尾遍历一个矩阵 触及每个元素 然而 我发现升压矩阵没有一个迭代器 而是有两个迭代器 而且我无法弄清楚如何使它们工作以便您可以遍历整个矩阵 typedef boost numeric ublas matrix
  • 在 Django 中使用 path() 找不到 404

    我刚刚查看 django 并尝试通过视图列出书籍id作为 URL 的参数books urls py 但出现 404 页面未找到错误 当我在浏览器中输入此网址时 我没有发现网址有什么问题 http 192 168 0 106 8000 boo
  • 在 Django 中删除特定用户的所有会话的最优化方法?

    我正在运行 Django 1 3 使用会话中间件和身份验证中间件 settings py SESSION ENGINE django contrib sessions backends db Persist sessions to DB S
  • Mxnet - 缓慢的数组复制到 GPU

    我的问题 我应该如何在 mxnet 中执行快速矩阵乘法 我的具体问题 数组复制到 GPU 的速度很慢 对此我们能做些什么呢 我创建随机数组 将它们复制到上下文中 然后相乘 import mxnet as mx import mxnet nd
  • 在 envoy 中使用 rm *(通配符):没有这样的文件或目录

    我正在使用 Python 和 Envoy 我需要删除目录中的所有文件 除了一些文件外 该目录是空的 在终端中 这将是 rm tmp my silly directory 常识表明 在特使中 这转化为 r envoy run rm tmp m
  • 忽略稀疏矩阵中的重复条目

    我尝试过初始化csc matrix and csr matrix从列表中 data rows cols 值如文档所示 sparse csc matrix data rows cols shape n n 问题是 我实际上拥有的生成方法dat
  • Pandas 数据透视表同时包含多列

    我怀疑是否pandas pivot table可以一次接受两列并单独处理它们 而不是分层处理 假设我有以下数据框 id date day val 101 11 1 1 1 2 1 101 11 1 2 2 2 2 101 11 1 3 3
  • Python 3d 金字塔

    我是 3D 绘图新手 我只想用 5 个点建造一个金字塔并通过它切出一个平面 我的问题是我不知道如何填充两侧 points np array 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 fig plt figure ax fi

随机推荐