相关疑难解决方法(0)

Python:证明NumPy数组的正当性

请我有点新鲜Python,它一直很好,我可以评论说python是非常性感的,直到我需要移动4x4矩阵的内容,我想用于构建游戏的2048游戏演示在这里我有这个功能

def cover_left(matrix):
        new=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
        for i in range(4):
             count=0
             for j in range(4):
                if mat[i][j]!=0:
                    new[i][count]=mat[i][j]
                    count+=1
        return new
Run Code Online (Sandbox Code Playgroud)

如果你像这样调用它,这就是这个函数的作用

cover_left([
              [1,0,2,0], 
              [3,0,4,0], 
              [5,0,6,0], 
              [0,7,0,8]
          ])
Run Code Online (Sandbox Code Playgroud)

它会覆盖左边的零并产生

[  [1, 2, 0, 0],
   [3, 4, 0, 0],
   [5, 6, 0, 0],
   [7, 8, 0, 0]]
Run Code Online (Sandbox Code Playgroud)

我需要有人帮助我numpy做一个这样做的方法,我相信会更快,需要更少的代码(我在深度优先搜索算法中使用),更重要的是实现cover_up,cover_down

`cover_left`.
`cover_up`
    [  [1, 7, 2, 8],
       [3, 0, 4, 0],
       [5, 0, 6, 0],
       [0, 0, 0, 0]]
`cover_down`
    [  [0, 0, 0, 0], …
Run Code Online (Sandbox Code Playgroud)

python search artificial-intelligence numpy 2048

9
推荐指数
1
解决办法
1157
查看次数

如何使用key作为isnan对numpy数组进行排序?

我有一个像numpy数组

np.array([[1.0, np.nan, 5.0, 1, True, True, np.nan, True],
       [np.nan, 4.0, 7.0, 2, True, np.nan, False, True],
       [2.0, 5.0, np.nan, 3, False, False, True, np.nan]], dtype=object)
Run Code Online (Sandbox Code Playgroud)

现在我想用key作为isnan对值进行排序?我怎样才能做到这一点?所以我最终会在阵列中

np.array([[1.0, 5.0, 1, True, True, True, np.nan, np.nan],
   [4.0, 7.0, 2, True, False, True, np.nan, np.nan],
   [2.0, 5.0, 3, False, False, True, np.nan, np.nan]], dtype=object)
Run Code Online (Sandbox Code Playgroud)

np.sort()没用.在pandas中可以实现相同的sorted功能,通过使用带有键的函数的已排序列作为pd.isnull(),但寻找速度的numpy答案.

在熊猫里

data = pd.DataFrame({'Key': [1, 2, 3], 'Var': [True, True, False], 'ID_1':[1, np.NaN, 2],
                'Var_1': [True, np.NaN, False], 'ID_2': [np.NaN, 4, 5], 'Var_2': [np.NaN, …
Run Code Online (Sandbox Code Playgroud)

python numpy

2
推荐指数
1
解决办法
234
查看次数

标签 统计

numpy ×2

python ×2

2048 ×1

artificial-intelligence ×1

search ×1