我正在尝试找出如何将键序列作为列的熊猫系列json对象从DataFrame的切片转换为新的DataFrame。我已经尝试了所有类似的解决方案,但似乎没有任何效果。它要么返回相同的序列,要么生成错误。有些行具有不同的键,它们并不完全相同,并且元素的数量也有所不同。变化是有限的,因此每个键可以有自己的列。有没有办法将这种类型的系列转换为DataFrame?
1 {'length': '27 mm', 'style': 'Short', 'width': '9 mm'}
2 {'length': '51 mm', 'style': 'Long', 'width': '9 mm'}
5 {'length': '29 mm', 'style': 'Medium', 'width': '9 mm','id': '16684'}
6 {'width': '7 mm', 'length': '29 mm', 'style': 'Medium','mfg': '45-163'}
8 {'width': '8 mm', 'length': '33 mm', 'style': 'Medium'}
答案 0 :(得分:1)
好吧,我建议
在此示例中,数据位于series
中。还将'
替换为"
:
import json
pd.concat([pd.DataFrame(json.loads(s), index=[ind]) for ind, s in series.str.replace('\'', '"').items()], sort=False)
length style width id mfg
1 27 mm Short 9 mm NaN NaN
2 51 mm Long 9 mm NaN NaN
5 29 mm Medium 9 mm 16684 NaN
6 29 mm Medium 7 mm NaN 45-163
8 33 mm Medium 8 mm NaN NaN