打印CSV中特定列中的重复值



我有一个csv文件,我需要在一列中打印重复的值"hash"。所以我用pandas做了这个,但我不确定它打印的是什么,它似乎打印了一整行我不需要的副本,我只需要复制那一列的vault;hash"

我写的脚本:

import pandas as pd
df = pd.read_csv("combined_values.csv")
dups = df[df.duplicated("hash")]
print(dups)

我也试过这个,但它似乎打印了所有的"hash"列

import pandas as pd
df = pd.read_csv("combined_values.csv")
dups = df["hash"].duplicated
print(dups)

我们可以尝试用Series.duplicated创建一个布尔索引,然后使用loc从复制hash的DataFrame中选择,而只是hash列:

s = df.loc[df['hash'].duplicated(), 'hash']

如果需要所有副本,可以设置keep=False:

s = df.loc[df['hash'].duplicated(keep=False), 'hash']

使用一些示例数据:

import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4],
'b': [5, 6, 7, 8],
'hash': [4, 5, 4, 6]
})
s = df.loc[df['hash'].duplicated(), 'hash']

s:

2    4
Name: hash, dtype: int64

或者保留所有重复项:

s = df.loc[df['hash'].duplicated(keep=False), 'hash']

s:

0    4
2    4
Name: hash, dtype: int64

相关内容

  • 没有找到相关文章

最新更新