Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中matirx向量操作示例后出现奇怪的输出错误_Python_List_Numpy_Matrix - Fatal编程技术网

python中matirx向量操作示例后出现奇怪的输出错误

python中matirx向量操作示例后出现奇怪的输出错误,python,list,numpy,matrix,Python,List,Numpy,Matrix,我想在python中实现这一点,下面是一个小示例: 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)):

我想在python中实现这一点,下面是一个小示例:

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)
这给了我

[[8,8,7,7,6,5,4,4,11,10,10,8],[7,7,7,7,5,5,5,4],[11,10,7,6,6,5,4,3,2,1]

现在,我尝试做同样的事情,但是使用整个数据集,但这就是我得到的(我将在下面粘贴我的全部代码):

这给了我
[8]

当它应该是
[8,8,7,7,6,5,4,4,11,10,10,8]

有人知道如何解决这个问题吗?

在您的“小示例”中,
付款数量
是一个
列表
列表
int
s:

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]
]
number_of_payments = []
for i in range(len(cpi)):
    number_of_payments.append((cf[:i + 1] / cpi[i]).astype(int))
在您的真实代码中,
付款数量
列表
中的
int
s:

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]
]
number_of_payments = []
for i in range(len(cpi)):
    number_of_payments.append((cf[:i + 1] / cpi[i]).astype(int))

似乎您需要弄清楚如何通过嵌套使您的实际
付款数量
看起来像您的示例。

我建议您逐步通过调试器。您的先决条件是您的
付款数量
是一个列表列表;在你的真实代码中,这个前提是否成立?@ Erip不知道如何在JuyYER笔记本电脑中使用Python,我是一个C++程序员。Juyter笔记本基本上是一个交互式调试器。@ Erip你知道什么会引起这些问题吗?如果我不得不猜测,你的数据是畸形的。不过,您可能需要单步执行调试器。我明白了,您能告诉我如何解决这个问题吗?我不知道您的域。你必须弄清楚这个逻辑。你说的域是什么意思?我不明白你的意思我想我是在礼貌地说我不会免费做你的工作。好吧,你想要多少?