Json 如何获取列表和列中的特定键中的所有唯一字典值?

Json 如何获取列表和列中的特定键中的所有唯一字典值?,json,pandas,indexing,unique,Json,Pandas,Indexing,Unique,我必须对一些json元数据进行排序,所以我使用panda.read_json创建了一个数据帧。 我调用了df['tags']来获取我想要的专栏,但我不知道从这里开始的最佳方式是什么 在'tags'列中有174157个列表类型元素,每个列表中有17个字典。我想要的结果是字典中的唯一值,对于整个标记列,它具有相应的键'name':… 下图是当我调用df[tag]时,我需要'name'中的所有唯一值: 编辑:实际上每行还有16本带有“name”的字典,但由于… 假设您从以下内容开始 df = pd.D

我必须对一些json元数据进行排序,所以我使用
panda.read_json
创建了一个数据帧。 我调用了
df['tags']
来获取我想要的专栏,但我不知道从这里开始的最佳方式是什么

'tags'
列中有
174157个
列表类型元素,每个列表中有17个字典。我想要的结果是字典中的唯一值,对于整个标记列,它具有相应的键
'name':…

下图是当我调用
df[tag]
时,我需要
'name'中的所有唯一值:

编辑:实际上每行还有16本带有“name”的字典,但由于

假设您从以下内容开始

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())
    从元素生成数据帧
  • applymap
    提取名称
  • 口述理解找到唯一的名称

似乎只有标记列是panda系列,因此我必须使用多个forloop和一个空列表来检查和存储所有唯一的字符串。输出是什么样子的?我怀疑这是一个单一的解决方案。