将数据从一个np.array传输到另一个np.array

2024-10-01 11:22:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将数据从一个numpy阵列传输到另一个numpy阵列,同时消除一些数据。我想我可以过滤数据,但我有麻烦转移到另一个numy数组。我用np.zero创建了我的第二个数组,我认为它是正确的形状,但是我得到了一个错误

    onesd_prob_combinetest=np.zeros([star_number,1])
    for counter, value in enumerate(one_d_arrays):
         for index, element in enumerate(value):
             onesd_prob_combinetest[counter] = value[index]
             if sum(onesd_prob_combinetest) > 
                           sixty_eight_percenttest[counter]:
             break

百分之六十八的测试是以下数组[0.07326831 0.08325579 1.63425504 0.76375927]。我想将上述68%的值相加到新数组中

我收到这个错误信息

onesd\u prob\u combinetest[计数器]=值[索引] ValueError:无法将输入数组从形状(5295974)广播到形状(1)

我已经试了36个小时了,只是不知道怎么做。如果有人能教我怎么做,我将不胜感激

我甚至不确定是否可以使用numpy数组来实现这一点。我需要某种方法使我的行中的数据彼此分开

    Arrays are as follows  onesd_prob_combinetest:
    array([[0.],
          [0.],
          [0.],
          [0.]])

下一个数组可能看起来很奇怪。这是一个2D numpy数组,我把它分割成单独的数组,认为这样更容易处理

    one_d_arrays
    [array([[0.0002739 , 0.00027299, 0.00027292, ..., 0.        , 0.        ,
    0.        ]]), array([[0.00091127, 0.00090518, 0.00089081, ..., 0.        , 0.        ,
    0.        ]]), array([[0.0012387 , 0.00123697, 0.0012369 , ..., 0.        , 0.        ,
    0.        ]]), array([[0.00141058, 0.00141006, 0.00141002, ..., 0.        , 0.        ,
    0.        ]])]

Tags: 数据innumpyforvaluenpcounter数组
1条回答
网友
1楼 · 发布于 2024-10-01 11:22:31

我想我找到了解决办法

如果我用嵌套列表替换numpy目标数组,它似乎可以工作

我还将一维数组改回原来的二维数组,而不是数组数组

也许有更好的办法,但我还是设法做到了

非常感谢你帮助我

如果你有别的选择,请告诉我。致以最良好的祝愿

    onesd_prob_combinetest= [[] for _ in range(star_number)]

    for counter, value in enumerate(one_d_arrays):
        for index, element in enumerate(value):
            onesd_prob_combinetest[counter].append(element)
            if sum(onesd_prob_combinetest[counter]) > sixty_eight_percenttest[counter]:
                 break

相关问题 更多 >