我想用符号“|”分割值(对象数据类型)并创建新列,其中包含每个分割值。
我的意图是拆分并仅使用第一个和第二个。
例如 从: |类别 | | -------- | | A | B | C | D | | A|B|C |
致:
类别 | 主要 | 子 | |
---|---|---|---|
A | B | C | A |
A | B | C | B |
我尝试了下面的代码,但有错误
Main = df['Category'].str.split('|').get(0)
Sub = df['Category'].str.split('|').get(1)
df['Main], df['Sub] = (Main, Sub)
请分享您的解决方案。
谢谢
代码
使用expand=True
df[['Main', 'Sub']] = df['Category'].str.split('|', expand=True)[[0, 1]]
示例代码
df = pd.DataFrame({'Category': ['A|B|C|D', 'A|B|C']})