Python ValueError:操作数无法与形状(3,)(2,)一起广播

Python ValueError:操作数无法与形状(3,)(2,)一起广播,python,numpy,array-broadcasting,Python,Numpy,Array Broadcasting,我有以下情况: 我有一个数字列表,例如: day\u列表=[ [317, 331, 344], [305, 326, 340], [317], [290, 323], [311, 325, 345], [289, 303, 323], [274, 281, 294, 325] ... ] 我想从每个内部列表的下一个元素中减去上一个元素,以便将结果追加到“result”列表中。例如: 第一个列表:[317331344] 331-317=14 344-331=13 结果列表:[14,13]

我有以下情况:

  • 我有一个数字列表,例如:
day\u列表=[
[317, 331, 344],
[305, 326, 340],
[317],
[290, 323],
[311, 325, 345],
[289, 303, 323],
[274, 281, 294, 325]
...
]
  • 我想从每个内部列表的下一个元素中减去上一个元素,以便将结果追加到“result”列表中。例如:
第一个列表:[317331344]

331-317=14
344-331=13

结果列表:[14,13]

我的代码是:

result=[]
sub_结果=[]
对于索引,枚举中的i(日列表):
如果len(i)>1:
结果=[]
对于范围内的j(透镜(i)-1):
subtract=np.subtract(np.array(day_list[index][j+1]),np.array(day_list[index][j]))
结果。追加(减去)
sub_result.append(结果)
其他:
sub_result.append(0)
我得到以下错误:

ValueError:操作数无法与形状(3,)(2,)一起广播

我发现这与代码部分有关,在代码部分我更改了数组位置
(j+1)
。我不知道如何修复代码并获得正确的结果

我已经读过很多类似的问题,但我找不到解决办法

你能帮忙吗

Tks

===================================

添加更多详细信息:

我正在从以下数据框创建一个列表:


        key day_list
    0   1078|11498  [317, 331, 344]
    1   1078|11749  [305, 326, 340]
    2   1078|11778  [317]
    3   1078|13974  [290, 323]
    4   1078|15866  [311, 325, 345]
    ... ... ...
    25337   96|426860   [302, 326]
    25338   96|443060   [310]
    25339   96|445134   [301, 303, 310]
    25340   96|445237   [301, 309, 310, 324]
    25341   96|447416   [301, 310]
    25342 rows × 2 columns

    def load_data(data):
        df = pd.DataFrame(data)
        day_list = []
        for i in range(len(df)):
            day_list.append(df.day_list.loc[i])
        return day_list

    day_list = load_data(df_dayofyear)


可能是我纠正的代码中的缩进错误,我现在尝试了这段代码,没有得到任何错误:

day_list = [[317, 331, 344],
[305, 326, 340],
[317],
[290, 323],
[311, 325, 345],
[289, 303, 323]]
输出:

[[14, 13], [21, 14], 0, [33], [14, 20], [14, 20]]

可能是我纠正的代码中的缩进错误,我现在尝试了这段代码,没有得到任何错误:

day_list = [[317, 331, 344],
[305, 326, 340],
[317],
[290, 323],
[311, 325, 345],
[289, 303, 323]]
输出:

[[14, 13], [21, 14], 0, [33], [14, 20], [14, 20]]

请提供完整的错误消息。我想从每个内部列表的下一个元素中减去上一个元素。说到NumPy,为什么要这样混合Python列表和NumPy Ndarray?我只能看到缺点。请提供完整的错误消息。我想从每个内部列表的下一个元素中减去上一个元素。说到NumPy,为什么要这样混合Python列表和NumPy Ndarray?我只能看到缺点。我想问题出在我的清单上。我用这里所示的值手动创建了一个列表,并且使用了相同的代码。我正在从dataframe列生成列表,这可能会导致一些问题。如果您是从dataframe列生成列表,请尝试以下操作-
df[column\u name].values.tolist()
我发现了问题。出于某种原因,我的列表是在最后一个子列表中使用垃圾生成的。我重新处理了一切,现在一切正常。非常感谢你的帮助!我想问题出在我的名单上。我用这里所示的值手动创建了一个列表,并且使用了相同的代码。我正在从dataframe列生成列表,这可能会导致一些问题。如果您是从dataframe列生成列表,请尝试以下操作-
df[column\u name].values.tolist()
我发现了问题。出于某种原因,我的列表是在最后一个子列表中使用垃圾生成的。我重新处理了一切,现在一切正常。非常感谢你的帮助!