Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫:使用正则表达式将字符列分隔为多个列_Python_R_Pandas_Dplyr - Fatal编程技术网

Python 熊猫:使用正则表达式将字符列分隔为多个列

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:]]",

我正在尝试将dplyr管道翻译成熊猫:

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]