0
0 [g,k]
1 [e,g]
2 [e]
3 [k,e]
4 [s]
5 [g]
我试图获取一次出现在data列中的值,在此示例中,解决方案应为“ s”。
但是我只能找到具有两个系列或两个数据框列的方法来解决此问题。 我无法在一列中执行此操作,因为据我所知,如果值是组合的一部分,则唯一值将无法工作。
答案 0 :(得分:1)
如果需要测试是否只能使用一个值,请将Series.explode
与Series.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']