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

Python 如何在保持发生顺序不变的情况下获得熊猫系列的唯一值,python,pandas,numpy,Python,Pandas,Numpy,我有一个这样的数据帧- 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

我有一个这样的数据帧-

    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个唯一值

Q> 我想获得
TEST\u TXT
系列中的所有唯一值,保持顺序不变,比如
['Continuity\u PPMU XSCI','Continuity\u PPMU XSCO',…等等]

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

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

谢谢

只需从切换到即可。NumPy使用排序获得唯一值,而Pandas使用哈希表,并在文档中明确表示结果是按照最初出现的顺序

所以像这样:

df.TEST_TXT.unique()
简单地从切换到就可以了。NumPy使用排序获得唯一值,而Pandas使用哈希表,并在文档中明确表示结果是按照最初出现的顺序

所以像这样:

df.TEST_TXT.unique()

您可以将drop_副本直接用于系列:

df['TEST_TXT'].drop_duplicates()

将为您提供您想要的,并保持订单

您可以直接在您的系列中使用drop\u副本:

df['TEST_TXT'].drop_duplicates()

我会给你想要的,保留订单

非常感谢。它似乎也解决了这个问题。因为时间的关系,我接受了约翰的回答。也感谢你+非常感谢。它似乎也解决了这个问题。因为时间的关系,我接受了约翰的回答。也感谢你+1.