Python 熊猫:使用正则表达式将字符列分隔为多个列
我正在尝试将dplyr管道翻译成熊猫:Python 熊猫:使用正则表达式将字符列分隔为多个列,python,r,pandas,dplyr,Python,R,Pandas,Dplyr,我正在尝试将dplyr管道翻译成熊猫: library(dplyr) df %>% separate(col1, c("col3","col4"), extra = "merge") %>% separate(col2, c("col5","col6"), sep = "[[:space:]]",
library(dplyr)
df %>%
separate(col1, c("col3","col4"), extra = "merge") %>%
separate(col2, c("col5","col6"),
sep = "[[:space:]]",
extra = "merge") %>%
.....
此管道基本上拆分了以下数据集:
尝试拆分列时,我希望列为:
import pandas as pd
df = df.col1.str.split(n=1)
我得到一个pandas.core.series.series对象,其形状如下:
0 [XXXXXX, 5555 SP]
我可以通过以下方式访问元素:
df[0][0]
但我想知道是否有更好的方式来尝试我用dplyr所做的事情
溴
/这应该是你想要的:
>>从datar.all导入c、f、tribble、单独
>>>
>>>df=tribble(
…f.col1,f.col2,
…“XXXXX 5555 SP”、“TEST-GEN ABC”,
... )
>>>
>>>df>>分开(
…f.col1,c(“col3”,“col4”),extra=“merge”,remove=False
…)>>分开(
…f.col2,c(“col5”,“col6”),sep=r'\s+',extra=“merge”,remove=False
... )
col1 col2 col3 col4 col5 col6
0 XXXXX 5555 SP测试发电机ABC XXXXX 5555 SP测试发电机ABC
我是这个包的作者。例如,你可以在你的
拆分中使用expand=True
直接分配到两列:df[[“col3”,“col4”]]=df[“col1”].str.split(n=1,expand=True)
我相信这是一个答案,而不是一个注释,@tomjn:)
df[0][0]