从 pandas.core.series.Series 字典中访问唯一项目
Posted
技术标签:
【中文标题】从 pandas.core.series.Series 字典中访问唯一项目【英文标题】:accessing unique items from a pandas.core.series.Series dictionary 【发布时间】:2017-10-24 20:35:07 【问题描述】:我有一个名为 names 的 pandas.core.series.Series:
print names
0 ['code': '8', 'name': 'John', ...
1 ['code': '1', 'name': 'Harry',...
2 ['code': '5', 'name': 'Pete'...
3 ['code': '1', 'name': 'Harry'...
如果只有 10 个代码和 10 个唯一名称属于它们。如何获得这 10 个名称的输出?我的第一个猜测是:
names.unique()
但我得到 TypeError: unhashable type: 'list'
请帮忙。
【问题讨论】:
如果我或其他答案有帮助,请不要忘记accept。谢谢。 【参考方案1】:您可以将concat
+ list comprehension
与DataFrame
构造函数和Series.unique
一起使用:
df = pd.concat([pd.DataFrame(x) for x in names.values.tolist()])
un = df['name'].unique()
print (un)
apply
+ numpy.concatenate
+ numpy.unique
的另一种解决方案:
un = np.unique(np.concatenate(names.apply(lambda x: [y['name'] for y in x])))
print (un)
【讨论】:
以上是关于从 pandas.core.series.Series 字典中访问唯一项目的主要内容,如果未能解决你的问题,请参考以下文章