联接列并删除重复项的方式
set
s
df['Col1+Col2'] = (df['Col1 Extract'] + df['Col2 Extract']).apply(lambda x: list(set(x)))
df['Col1+Col2+Col3'] = (df['Col1 Extract'] + df['Col2 Extract'] + df['Col3 Extract']).apply(lambda x: list(set(x)))
print (df)
Col1 Extract Col2 Extract Col3 Extract \
0 [unclassified] [sink, fridge] [unclassified]
1 [fridge, microwave] [fridge, stove] [sink]
2 [unclassified] [unclassified] [unclassified]
Col1+Col2 Col1+Col2+Col3
0 [fridge, unclassified, sink] [fridge, unclassified, sink]
1 [stove, fridge, microwave] [stove, fridge, microwave, sink]
2 [unclassified] [unclassified]
如果订购是重要用途
dict.fromkeys
戏法
df['Col1+Col2'] = (df['Col1 Extract'] + df['Col2 Extract']).apply(lambda x: list(dict.fromkeys(x)))
df['Col1+Col2+Col3'] = (df['Col1 Extract'] + df['Col2 Extract'] + df['Col3 Extract']).apply(lambda x: list(dict.fromkeys(x)))
print (df)
Col1 Extract Col2 Extract Col3 Extract \
0 [unclassified] [sink, fridge] [unclassified]
1 [fridge, microwave] [fridge, stove] [sink]
2 [unclassified] [unclassified] [unclassified]
Col1+Col2 Col1+Col2+Col3
0 [unclassified, sink, fridge] [unclassified, sink, fridge]
1 [fridge, microwave, stove] [fridge, microwave, stove, sink]
2 [unclassified] [unclassified]