我有一个pandas系列对象S,有些元素是名字 - 值对,比如 A-12 B-23 C-42 d-25 ...
有些人只是 一个 b C d ....等等,我需要做的就是把它变成Json格式,如:
{Name:a,Value:12}
{Name:b,Value:23}
{Name:c,Value:42}
{Name:d,Value:25}
...
如果只有a,b,c,d,而不是对,则值为NaN。
我使用str.split(“ - ”)函数来分隔对,对于非对,这将为值部分生成NaN。
我想知道我是否可以像
一样把它们放在一起result=[{"Name": S.str.split("-").str.get(0),"Value": S.str.split("-").str.get(1)}]
答案 0 :(得分:0)
是的,我认为你非常接近,你可以把它写成像
这样的列表理解result = [{"Name": n, "Value": v} for n, v in zip(S.str.split("-").str.get(0),
S.str.split("-").str.get(1))]
虽然使用正则表达式解析字符串可能会更好一些:
result = [{"Name": n, "Value": v} for n, v in S.str.extract("(\w)-?(\d+)?").values]