Json 如何获取列表和列中的特定键中的所有唯一字典值?
我必须对一些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
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和一个空列表来检查和存储所有唯一的字符串。输出是什么样子的?我怀疑这是一个单一的解决方案。