【发布时间】:2017-05-04 01:06:43
【问题描述】:
我有一个这样的数据框:
date message
05/01/2017 field1=aaaa&field2=bbbb&field3=cccc
05/02/2017 field1=aaaa&field2=bbbb&field3=cccc
我想把它改成这样:
date field1 field2 field3
05/01/2017 aaaa bbbb cccc
05/02/2017 aaaa bbbb cccc
但我做不到。 到目前为止,这是我的代码:
def split_log_fields(x):
date = x[0]
subscription = x[2][x[2].index('=')+1:]
user_id = x[3][x[3].index('=')+1:]
status = x[4][x[4].index('=')+1:]
return [[date],[subscription],[user_id],[status]]
a = pandas.read_csv(WEBPUSH_SUBSCRIBERS_FILE_NAME,sep='#',header=None)
b= a[1].str.split('&', 2,expand=True)
c = pandas.concat([a,b], axis=1, ignore_index=True)
d = c.apply(split_log_fields,axis=1).to_frame()
问题是 d 没有被正确的字段分隔。 d现在是这样的:
field
[[05/01/2017], [aaaa],[bbbb],[cccc]]
Pandas 不会在不同字段中拆分列表。
我该如何解决这个问题?
【问题讨论】:
-
你可以看看this answer。