Python:将列分解为列表并消除重复项
我有以下数据框:Python:将列分解为列表并消除重复项,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有以下数据框: st = {"name": ['a', 'a||b||c','a||b||c', 'a||c', 'b', 'c']} df = pd.DataFrame(st) name a||b||c a||b||c a||c b c 我需要获得不同属性值的列表,因此我希望列表或集合具有a、b、c。我正在考虑使用explode函数,但它不能消除重复项。我该怎么做?您有方法链使用删除重复项来分解: df['attr'].str.split('\|\|').explode().drop_d
st = {"name": ['a', 'a||b||c','a||b||c', 'a||c', 'b', 'c']}
df = pd.DataFrame(st)
name
a||b||c
a||b||c
a||c
b
c
我需要获得不同属性值的列表,因此我希望列表或集合具有
a、b、c
。我正在考虑使用explode
函数,但它不能消除重复项。我该怎么做?您有方法链使用删除重复项来分解:
df['attr'].str.split('\|\|').explode().drop_duplicates()
0 a
0 b
0 c
Name: attr, dtype: object
或使用唯一性分解:
df['attr'].str.split('\|\|').explode().unique()
array(['a', 'b', 'c'], dtype=object)
您有方法链分解和删除重复项:
df['attr'].str.split('\|\|').explode().drop_duplicates()
0 a
0 b
0 c
Name: attr, dtype: object
或使用唯一性分解:
df['attr'].str.split('\|\|').explode().unique()
array(['a', 'b', 'c'], dtype=object)