从 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 comprehensionDataFrame 构造函数和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 字典中访问唯一项目的主要内容,如果未能解决你的问题,请参考以下文章

从PRISM开始学WPFMVVMViewModel?

在 python 中,为啥从数组读取比从列表读取慢?

从图库中挑选或从相机捕获的高质量图像

从PRISM开始学WPFMVVMCommand?

从PRISM开始学WPFPrism?

mysql 主-主-从-从