我在pandas数据框中有一个这样的列,我想将其转换为a,b,c,d的多个列
{"a":false,"b":false}
{"a":false,"b":false,"c":true}
nan
{"a":false}
{"a":true,"d":true}
我试过了:
ops = ops.join( pd.DataFrame(json.loads(d) for d in ops.pop('json_column')) )
但它会创建带有名称(a,b,c,d)的列,并且不会将值放入其中。所有值均为nan。
对于我来说,您的解决方案使用if-else
语句来处理缺失值,并且还添加[]
了index
参数:
ops = ops.join(pd.DataFrame([json.loads(d)
if pd.notna(d)
else {}
for d in ops.pop('json_column')], index=ops.index))
print (ops)
a b c d
0 False False NaN NaN
1 False False True NaN
2 NaN NaN NaN NaN
3 False NaN NaN NaN
4 True NaN NaN True
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句