熊猫通过字符串替换或正则表达式将列分成几列

时间:2020-02-03 20:13:48

标签: python pandas split multiple-columns

我的数据框中有一个“列”,在最佳条件下,它看起来像这样:

Container("board", "game", Render(Square(), 9, "game"));

我想将此列分为几列,例如:

Client: Stack Overflow   Order Num: 123456  Account From: 3656645654   Account to: 546546578

但是在某些情况下,我在列中没有客户,订单号和帐户

我是用这种方式做的:

'Client','Order Num', 'Account From','Account to'

对于要创建的所有列,依此类推。

脚本的这一部分将近40行,并且非常慢。

您还有更“泛泛”的解决方案吗?

1 个答案:

答案 0 :(得分:2)

使用字符串访问器 id ... new_col 0 1 ... [10ml, 5kg] 1 2 ... [10 ml] 2 3 ... [0.5 l] 3 4 ... [2 kilograms] .str并使用正则表达式对命名组进行尝试:

extract

输出:

df['col1'].str.extract('Client: (?P<Client>.*) Order Num: (?P<OrderNum>.*) Account From: (?P<AccountFrom>.*) Account to: (?P<AccountTo>.*)')