gpt4 book ai didi

python - 通过分隔符获取 pandas 列中的唯一字符串

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:12 24 4
gpt4 key购买 nike

假设我有以下数据:

import numpy as np
import pandas as pd

data=np.array([["xxx--xxx--xxx--yyy"],
["aaa--bbb--aaa--ccc"],
["xxx--axa--axa--ccc"],
["bbb--bab--bbb--bab--tgh"]])

df = pd.DataFrame({'Practice Column': data.ravel()})

print(df)

我如何在此数据框中创建一个新列来查看字符串并吐出一个独特的组合?所需的输出将是:

enter image description here

感谢任何帮助。谢谢。

最佳答案

通过split 使用列表理解,pandas.unique对于具有相同顺序的唯一或 setsorted 和 last join 在一起:

df['des'] = ['--'.join(pd.unique(x.split('--'))) for x in df['Practice Column']]

或者:

df['des'] = ['--'.join(sorted(set(x.split('--')),key=x.index)) for x in df['Practice Column']]

print (df)
Practice Column des
0 xxx--xxx--xxx--yyy xxx--yyy
1 aaa--bbb--aaa--ccc aaa--bbb--ccc
2 xxx--axa--axa--ccc xxx--axa--ccc
3 bbb--bab--bbb--bab--tgh bbb--bab--tgh

如果排序不重要,解决方案更简单:

df['des'] = ['--'.join(set(x.split('--'))) for x in df['Practice Column']]
print (df)
Practice Column des
0 xxx--xxx--xxx--yyy yyy--xxx
1 aaa--bbb--aaa--ccc ccc--bbb--aaa
2 xxx--axa--axa--ccc ccc--axa--xxx
3 bbb--bab--bbb--bab--tgh bab--tgh--bbb

关于python - 通过分隔符获取 pandas 列中的唯一字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53845718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com