相关疑难解决方法(0)

删除行内的 Pandas 重复值,替换为 NaN,将 NaN 移到行尾

问题

如何在 Pandas 数据框中分别考虑每一行(并可能用 NaN 替换它们),从每一行中删除重复的单元格值?

如果我们可以将所有新创建的 NaN 移到每一行的末尾,那就更好了。


参考:相关但不同的帖子:


例子:

import pandas as pd
df = pd.DataFrame({'a': ['A', 'A', 'C', 'B'],
                   'b': ['B', 'D', 'B', 'B'],
                   'c': ['C', 'C', 'C', 'A'],
                   'd': ['D', 'D', 'B', 'A']},
                   index=[0, 1, 2, 3])
Run Code Online (Sandbox Code Playgroud)

这创造了这个df

一种 C d
0 一种 C D
1 一种 D C D
2 …

python duplicates dataframe pandas

31
推荐指数
3
解决办法
6514
查看次数

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
查看次数