我正在使用逗号作为分隔符将字符串拆分成行。
for col in [col for col in df.loc[:,df.columns.str.contains(">")]]: #only on colnames containing ">"
df[col] = df[col].str.split(", ")
df = df.explode(col).reset_index(drop=True)
然而,有三个子字符串中出现了“自然”的逗号,不应该导致拆分:
- 与性取向、性生活和/或性取向相关的数据
- 合同、工资和福利
- 采购、分包和供应商管理
我在想,既然只有这三种情况,是否有一种方法可以使用类似于此类的方式做出一些异常:“preferences,”,“sex life,”,“Contract,”和“Procurement,”。还是有一些更优雅的解决方法?
这是一个示例 df:
df = pd.DataFrame({"col > 1": ["Personals, Financials, Data related to sexual preferences, sex life, and/or sexual orientation", "Personals, Financials", "Vendors, Procurement, subcontracting and vendor management"]})
以下是应输出的内容:
+-------------------------------------------------------------------------+
| col > 1 |
+-------------------------------------------------------------------------+
| Personals |
| Financials |
| Data related to sexual preferences, sex life, and/or sexual orientation |
| Personals |
| Financials |
| Vendors |
| Procurement, subcontracting and vendor management |
+-------------------------------------------------------------------------+