如何“唯一”在数据框中显示重复值?

问题描述 投票:0回答:2

背景:我对我的数据框(df)感到非常困惑,当我进行一些简单的分析时,它会为名为“ID”的列中的特定值生成随机行(特别是当 ID == 42 时)。因此,我开始做一些故障排除。

当我尝试列出 ID = 42 的所有行时,我会:

data=df.loc[df['ID'] == 42]

在这个名为“data”的新变量中,行看起来是正确的。但是,当我手动滚动原始数据框 df 时(例如,在 Spyder 上的变量资源管理器中),我可以看到 ID=42 的更多行没有打印到“数据”。

然后,为了仔细检查为什么“ID”值显示出这种奇怪的行为,我做了

print(df['ID'].unique())

而且,奇怪的是,我明白了:

[ 20. 31. 42. 42. 84.142.198.248.280.288.352.378.459.498.] -- 请注意 42 是重复的!

我的问题是,当我使用.unique()函数时怎么会有两个42?我认为它应该输出所有 unique 值?如果我能更好地理解这一点,我就可以开始理解随之而来的其余问题......

我是否遗漏了“独特”的运作方式?

诗。我的文件很大,所以我没有包含它们,但如果我需要提供更多(数字)上下文,请告诉我。

谢谢!

python pandas dataframe unique
2个回答
1
投票

将我的评论移至答案,因为它解决了问题:

print(df['ID'].astype(int).unique())

0
投票

发生的情况是存储的数据是字符串值,那么我们该怎么做?

© www.soinside.com 2019 - 2024. All rights reserved.