【发布时间】:2020-02-03 20:13:48
【问题描述】:
我的数据框中有一个“列”,在最佳条件下,它看起来像这样:
Client: Stack Overflow Order Num: 123456 Account From: 3656645654 Account to: 546546578
我想将此列拆分为几列,例如:
'Client','Order Num', 'Account From','Account to'
但在某些情况下,我在列中没有客户、订单号和帐户
我是这样做的:
for x in len(df.columns):
if 'Client' in df.loc[x,'Columnn']:
df.loc[x,'Client'] = str(df.loc[x,'Column']).split('Client: ')[1]
if 'Order Num' in df.loc[x,'Client']:
df.loc[x,'Client'] = str(df.loc[x,'Client']).split('Order Num: ')[0]
if 'Account From' in df.loc[x,'Client']:
df.loc[x,'Client'] = str(df.loc[x,'Client']).split('Account From: ')[0]
if 'Account to' in df.loc[x,'Client']:
df.loc[x,'Client'] = str(df.loc[x,'Client']).split('Account to: ')[0]
else:
df.loc[x,'Client'] = ''
对于我要创建的所有列,依此类推。
这部分脚本将近40行,速度很慢。
您有更“夸张”的解决方案吗?
【问题讨论】:
标签: python pandas split multiple-columns