我必须对一些json元数据进行排序,因此我使用panda.read_json
来创建数据帧。
我打电话给df['tags']
以获取我想要的列,但我不是从这里开始的最佳方式。
在'tags'
列中有174157
个列表类型元素,每个列表中有17个词典。我想要的结果是字典中的唯一值,其中整个标记列的对应键为'name' :...
。
下面的图片是我拨打df[tag]
时,我想要'name' :
答案 0 :(得分:1)
假设您从
之类开始df = pd.DataFrame({'a': [[{'name': 'foo'}, {'name': 'foo1'}], [{'name': 'bar'}]]})
然后你可以使用
names = pd.DataFrame(df.a.tolist()).applymap(lambda d: d.get('name', '') if isinstance(d, dict) else '')
>>> {i: names[i].unique() for i in names.columns}
{0: array(['foo', 'bar'], dtype=object), 1: array(['foo1', ''], dtype=object)}
pd.Dataframe(df.a.tolist())
从元素中创建一个Dataframe。applymap
提取名称