标签: duplicates

删除行内的 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
查看次数

如何避免has_many:through关系中的重复?

我怎样才能实现以下目标?我有两个模型(博客和读者)和一个JOIN表,它允许我在它们之间建立N:M关系:

class Blog < ActiveRecord::Base
  has_many :blogs_readers, :dependent => :destroy
  has_many :readers, :through => :blogs_readers
end

class Reader < ActiveRecord::Base
  has_many :blogs_readers, :dependent => :destroy
  has_many :blogs, :through => :blogs_readers
end

class BlogsReaders < ActiveRecord::Base
  belongs_to :blog
  belongs_to :reader
end
Run Code Online (Sandbox Code Playgroud)

我现在想做的是将读者添加到不同的博客中.但是,条件是我只能将博客添加到博客中.因此表中不得有任何重复(相同readerID,相同blogID)BlogsReaders.我怎样才能做到这一点?

第二个问题是,如何获得读者尚未订阅的博客列表(例如,填写下拉选择列表,然后可以将读者添加到另一个博客)?

ruby ruby-on-rails duplicates has-many has-many-through

30
推荐指数
4
解决办法
2万
查看次数

Java生成非重复随机数

我想在Java中创建一组没有重复的随机数.

例如,我有一个数组来存储从0到9999的10,000个随机整数.

这是我到目前为止:

import java.util.Random;
public class Sort{

    public static void main(String[] args){

        int[] nums = new int[10000];

        Random randomGenerator = new Random();

        for (int i = 0; i < nums.length; ++i){
            nums[i] = randomGenerator.nextInt(10000);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但上面的代码会产生重​​复.如何确保随机数不重复?

java random duplicates

30
推荐指数
3
解决办法
8万
查看次数

如何检查重复的CSS规则?

我弄乱了我的CSS,不知怎的,我有很多重复的规则和我的1800行线css文件现在是3000多行..

有没有什么方法/工具可以将我的css文件作为输入并检查所有重复规则?并可能生成一个删除这些冗余的CSS?

css redundancy duplicates

30
推荐指数
2
解决办法
4万
查看次数

TransformException common.annotations.Beta的重复条目

这是在我添加时开始的google-api-services-calendar.我在尝试构建时收到此错误:

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
     com.android.build.transform.api.TransformException: java.util.zip.ZipException: 
     duplicate entry: com/google/common/annotations/Beta.class
Run Code Online (Sandbox Code Playgroud)

这是运行时输出的一部分./gradlew app:dependencies:

compile - Classpath for compiling the main sources.
+--- com.google.android.gms:play-services-measurement:8.1.0
|    +--- com.google.android.gms:play-services-base:8.1.0
|    |    \--- com.google.android.gms:play-services-basement:8.1.0
|    |         \--- com.android.support:support-v4:22.2.0 -> 23.0.1
|    |              \--- com.android.support:support-annotations:23.0.1
|    \--- com.google.android.gms:play-services-analytics:8.1.0
|         +--- com.google.android.gms:play-services-basement:8.1.0 (*)
|         \--- com.google.android.gms:play-services-ads:8.1.0
|              +--- com.google.android.gms:play-services-basement:8.1.0 (*)
|              \--- com.google.android.gms:play-services-appindexing:8.1.0
|                   \--- com.google.android.gms:play-services-basement:8.1.0 (*)
+--- com.google.dagger:dagger:2.0
|    \--- javax.inject:javax.inject:1
+--- com.google.android.gms:play-services-identity:8.1.0
|    \--- com.google.android.gms:play-services-base:8.1.0 (*)
+--- com.google.android.gms:play-services-plus:8.1.0
|    \--- …
Run Code Online (Sandbox Code Playgroud)

java dependencies android duplicates android-gradle-plugin

30
推荐指数
1
解决办法
3万
查看次数

删除多个文件中的重复CSS声明

我希望从许多文件中删除重复的CSS声明,以便更轻松地实现更改.有没有一种工具可以帮助我做到这一点?

现在我面临着这样的事情:

styles.css
#content {
width:800px;
height:1000px;
background: green;
}

styles.game.css
#content {
width:800px;
height:1000px;
background: blue;
}
Run Code Online (Sandbox Code Playgroud)

我想要这个:

styles.css
#content {
width:800px;
height:1000px;
background: green;
}

styles.game.css
#content {
background: blue;
}
Run Code Online (Sandbox Code Playgroud)

所有文件的总行数超过10k,因此不依赖于手动编辑的技术.

css duplicates duplicate-removal

29
推荐指数
4
解决办法
3万
查看次数

Python将文件复制到新目录,并重命名文件名是否已存在

我已经阅读过这个帖子,但是当我将它实现到我的代码中时,它只适用于几次迭代.

我正在使用python迭代目录(让我们称之为移动目录)将主要是pdf文件(匹配唯一ID)复制到另一个目录(基目录)到匹配文件夹(具有相应的唯一ID).我开始使用,shutil.copy但如果有重复,它会覆盖现有文件.

我希望能够搜索相应的文件夹以查看该文件是否已存在,并在发生多个文件时迭代命名.

例如

  • 将文件1234.pdf复制到基本目录1234中的文件夹.
  • 如果存在1234.pdf,则将其命名为1234_1.pdf,
  • 如果另一个pdf被复制为1234.pdf那么它将是1234_2.pdf.

这是我的代码:

import arcpy
import os
import re
import sys
import traceback
import collections
import shutil

movdir = r"C:\Scans"
basedir = r"C:\Links"

try:
    #Walk through all files in the directory that contains the files to copy
    for root, dirs, files in os.walk(movdir):
        for filename in files:
            #find the name location and name of files
            path = os.path.join(root, filename)
            print path
            #file name and extension
            ARN, extension = os.path.splitext(filename)
            print ARN …
Run Code Online (Sandbox Code Playgroud)

python directory copy duplicates

29
推荐指数
4
解决办法
8万
查看次数

强名称sn.exe:无法安装密钥对 - 对象已存在

我的机器上有两个不同版本的同一个项目.一个来自代码中继,另一个来自代码分支.这些项目使用.pfx键来启用强命名.当我第一次尝试编译项目的trunk版本时,我收到以下错误:

无法导入以下密钥文件:sgKey.pfx.密钥文件可能受密码保护.要更正此问题,请尝试再次导入证书,或使用以下密钥容器名称手动将证书安装到强名称CSP:VS_KEY_45891C38BC1BB345

要解决此问题,我使用sn.exe和以下命令:

sn -i sg Key.pfx VS_KEY_45891C38BC1BB345

这解决了trunk项目的问题,然后愉快地构建.

但是,当我尝试构建项目的分支版本时,我收到相同的初始错误(具有相同的密钥容器名称),当我尝试使用sn.exe安装证书时(不出意外)给出以下错误:

无法安装密钥对 - 对象已存在

这是有道理的,因为我在sn命令上使用了相同的infile容器,但我想要了解的是:

  1. 如果此对象已存在,为什么项目无法构建,因为看起来已经安装了证书.
  2. 我如何解决这个问题(例如,我可以卸载然后重新安装吗?如果是这样,怎么做?)

.net certificate duplicates sn.exe strong-named-key

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

在列表中识别连续重复项的最Pythonic方法是什么?

我有一个整数列表,我希望能够识别连续的重复块:也就是说,我想生成一个保留顺序的双重列表,其中每个双重包含(int_in_question,出现次数).

例如,如果我有一个列表,如:

[0, 0, 0, 3, 3, 2, 5, 2, 6, 6]
Run Code Online (Sandbox Code Playgroud)

我希望结果如下:

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

我有一个相当简单的方法,使用for循环,temp和计数器:

result_list = []
current = source_list[0]
count = 0
for value in source_list:
    if value == current:
        count += 1
    else:
        result_list.append((current, count))
        current = value
        count = 1
result_list.append((current, count))
Run Code Online (Sandbox Code Playgroud)

但我真的很喜欢python的函数式编程习语,我希望能够通过一个简单的生成器表达式来实现这一点.但是我发现在使用发电机时很难保留子计数.我有一种感觉,两个步骤可能会让我在那里,但是现在我很难过.

是否有一种特别优雅/ pythonic的方式来做到这一点,特别是对于发电机?

python list generator duplicates

28
推荐指数
1
解决办法
1万
查看次数

树包含重复的文件条目

在我们托管的一些问题之后,我们决定将我们的Git存储库移动到GitHub.所以我克隆了存储库并尝试将其推送到GitHub.但是,我偶然发现了一些我们以前从未遇到过的错误:

 C:\repositories\appName [master]> git push -u origin master
 Counting objects: 54483, done.
 Delta compression using up to 2 threads.
 Compressing objects: 100% (18430/18430), done.
 error: object 9eac1e639bbf890f4d1d52e04c32d72d5c29082e:contains duplicate file entries
 fatal: Error in object
 fatal: sha1 file '<stdout>' write error: Invalid arguments
 error: failed to push some refs to 'ssh://git@github.com/User/Project.git'
Run Code Online (Sandbox Code Playgroud)

当我跑fsck:

C:\repositories\appName [master]> git fsck --full
Checking object directories: 100% (256/256), done.
error in tree 0db4b3eb0e0b9e3ee41842229cdc058f01cd9c32: contains duplicate file entries
error in tree 9eac1e639bbf890f4d1d52e04c32d72d5c29082e: contains duplicate file entries …
Run Code Online (Sandbox Code Playgroud)

git object duplicates

28
推荐指数
2
解决办法
6363
查看次数