如何在python中将字符串转换为数据帧

如何在python中将字符串转换为数据帧,python,pandas,numpy,Python,Pandas,Numpy,我有这根绳子 “id=IAfpK,val=58,id=WNVdi,val=64,id=jp9zt,val=47” 。我想用它创建一个熊猫数据框。有什么办法吗?将熊猫作为pd导入 data=“id=IAfpK,val=58,id=WNVdi,val=64,id=jp9zt,val=47” data=[*map(lambda x:x.split('='),data.split(','))] ids=[*过滤器(lambda x:x[0]=='id',数据)] val=[*过滤器(λx:x[0]=='

我有这根绳子

“id=IAfpK,val=58,id=WNVdi,val=64,id=jp9zt,val=47”

。我想用它创建一个熊猫数据框。有什么办法吗?

将熊猫作为pd导入
data=“id=IAfpK,val=58,id=WNVdi,val=64,id=jp9zt,val=47”
data=[*map(lambda x:x.split('='),data.split(','))]
ids=[*过滤器(lambda x:x[0]=='id',数据)]
val=[*过滤器(λx:x[0]=='val',数据)]
df=pd.DataFrame.from_dict(
资料={
'id':[*映射(lambda x:x[1],id)],
'val':[*映射(λx:x[1],val)]
}
)

将熊猫作为pd导入
string=“id=IAfpK,val=58,id=WNVdi,val=64,id=jp9zt,val=47”
df=pd.DataFrame({'string':[string]})
df@DavidErickson我想要一个有两列且长度为3的数据帧,因为有3个键,val-pairs才有意义。这些细节应该在你的问题中,如果你能修改它,并明确你想要什么。@DavidErickson如果没有重复,为什么投票关闭它!我收回了我的投票,因为它不像我在你解释之后复制并粘贴的代码那么简单。只对非常短的数据有用,而且不必要的复杂。并非所有内容都必须是
map()
lambda
filter()
。在必要/有用的地方使用它,并且在使用过多时始终使用
timeit
。根据我的经验,它更难阅读,总体来说代码更糟糕(但有它的用途)。相反:
>>定义更好(数据):。。。从集合导入defaultdict作为ddict。。。out=ddict(列表)。。。数据=[it.split(“=”)中的数据,[item.strip()中的数据(“,”)]。。。对于键,数据中的val:。。。out[key]。追加(val)。。。返回
抱歉,评论无法正确格式化。只需在每个
上添加一个新行即可。