更改列以将拆分函数字符串存储在 Pandas 数据框中

Alter column to store the split functioned string in Pandas Dataframe

我做了以下事情:

df[['col1','col2']] = df.col.str.split(',', expand = True)

它适用于类似“a,b”的情况。 如果 col 值是一个没有逗号的字符串,如“a”,上面的行将该字符串带到 col1。但是,如果我想在第二列中使用它,即 col2,是否有任何单行方法可以做到这一点?

注意:只有当它得到一个没有逗号的字符串时,我才想反向处理它。

更多说明: 示例数据框列,

col: "a,b", "a"

预期输出,

row 1-> col1: a, col2: b

row 2-> col1: none, col2: a

提前致谢:))

您应该使用 extract 而不是 split:

df.col.str.extract(r'(\w*),?(\w+)')

   0  1
0  a  b
1     a

其中 df = pd.DataFrame({'col':['a,b', 'a']})

请注意,正则表达式可以根据需要进行更改

编辑:

 df.col.str.extract(r'^([^,]*),?(\b\w+)')

        0         1
0  Uttara     Dhaka
1          Faridpur