首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在保持发生顺序不变的情况下获得熊猫序列的唯一值

如何在保持发生顺序不变的情况下获得熊猫序列的唯一值
EN

Stack Overflow用户
提问于 2020-10-30 20:16:04
回答 2查看 39关注 0票数 0

我有一个这样的数据框架-

代码语言:javascript
复制
    TEST_NUM  SITE_NUM  RESULT TEST_FLG              TEST_TXT UNITS LO_LIMIT HI_LIMIT
0       150         0 -0.4373        P  Continuity_PPMU XSCI     V       -1     -0.3
1       150         1 -0.4383        P  Continuity_PPMU XSCI     V       -1     -0.3
2       150         2 -0.4357        P  Continuity_PPMU XSCI     V       -1     -0.3
3       150         3 -0.4370        P  Continuity_PPMU XSCI     V       -1     -0.3
4       151         0 -0.4646        P  Continuity_PPMU XSCO     V       -1     -0.3

正如您所看到的,TEST_TXT中有重复的值。在TEST_TXT中大约有53个唯一值。

我想要得到TEST_TXT序列中的所有唯一值,保持顺序不变,比如['Continuity_PPMU XSCI','Continuity_PPMU XSCO',..etc]

目前,当我使用np.unique()时,它正在改变顺序,尽管它提供了唯一的值。

我可以迭代数据帧,保留一个映射来检查它是否已经出现了一个值,如果没有,我可以附加到一个列表中。通过这种方式,我也可以获得相同顺序的唯一值,但我正在寻找一种更优雅的方式,更多的python方式(或pandas/numpy)。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-30 20:21:34

只需从numpy.unique()切换到pandas.Series.unique()就可以了。NumPy使用排序获得唯一值,而Pandas使用哈希表,并在文档中明确表示结果是按最初出现的顺序显示的。

所以就像这样:

代码语言:javascript
复制
df.TEST_TXT.unique()
票数 1
EN

Stack Overflow用户

发布于 2020-10-30 20:22:57

您可以将drop_duplicates直接用于您的系列:

代码语言:javascript
复制
df['TEST_TXT'].drop_duplicates()

会给你你想要的,维持秩序

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64608180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档