大熊猫相交系列

时间:2020-07-09 11:19:46

标签: python pandas

       0
0  [g,k]
1  [e,g]
2  [e]
3  [k,e]
4  [s]
5  [g]

我试图获取一次出现在data列中的值,在此示例中,解决方案应为“ s”。

但是我只能找到具有两个系列或两个数据框列的方法来解决此问题。 我无法在一列中执行此操作,因为据我所知,如果值是组合的一部分,则唯一值将无法工作。

1 个答案:

答案 0 :(得分:1)

如果需要测试是否只能使用一个值,请将Series.explodeSeries.value_counts一起使用,然后在boolean indexing中用index过滤1

s = df[0].explode().value_counts()
L = s.index[s == 1].tolist()
print (L)
['s']

或者使用带有Counter的纯python解决方案,并在列表理解中将Series中的嵌套列表展平:

from collections import Counter

L = [k for k, v in Counter([y for x in df[0] for y in x]).items() if v == 1]
print (L)
['s']