pandas如何按;分隔符拆分DataFrame列值获取唯一子串列表
pandas拆分分号分隔列提取去重值列表实现方案
针对OWNER列按;拆分、提取去重子串转列表的需求,直接用pandas内置的字符串处理、展平、去重方法即可实现,代码简洁且运行效率高。
核心实现代码
unique_value = df["OWNER"].str.split(";").explode().unique().tolist()
步骤说明
str.split(";"):逐行将OWNER列的字符串按分隔符;拆分为子串列表,样例中"A"会拆为["A"],"B;C"会拆为["B", "C"]explode():将每行拆分得到的列表展开为独立行,所有子串会成为单列Series的独立元素unique():对展平后的所有子串做去重处理tolist():将去重后的pandas数组转为普通Python列表
边界情况处理
如果OWNER列存在空值(NaN/None),可以在拆分前先过滤空值,避免无效空元素进入结果:
unique_value = df["OWNER"].dropna().str.split(";").explode().unique().tolist()
用给出的样例数据运行上述代码,最终得到的unique_value就是期望的["A", "B", "C"]。
内容的提问来源于stack exchange,提问作者zimon
相关产品推荐
相关产品推荐

