How can I get a List of unique values in my pandas data frame (df) column "OWNER" by the delimiter ";" ? The dtype of OWNER is string.
Thanks a lot! <3
OWNER |
---|
"A" |
"B;C" |
"B;C" |
The Result should be: unique_value = ["A","B","C"]
CodePudding user response:
You can split
by ';'
, then explode
and find unique
s:
>>> df = pd.Series(['A', 'B;C', 'B;C'], name='OWNER').to_frame()
>>> df
OWNER
0 A
1 B;C
2 B;C
>>> df['OWNER'].str.split(';').explode().unique().tolist()
['A', 'B', 'C']
Alternatively, you can join the elements by ';'
and then split by the same. Then use dict.fromkeys
to filter out the duplicates and maintain order, finally convert to a list
.
>>> list(dict.fromkeys(';'.join(df['OWNER']).split(';')))
['A', 'B', 'C']