我有一个叫做名字的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类型:'list'
请帮忙。
答案 0 :(得分:0)
你可以试试这个:
names.str.get(0).apply(pd.Series)['name'].unique()
.str.get
访问名称系列
.apply(pd.Series)
将该字典转换为数据框
最后,使用unique
查看“名称”的内容。
答案 1 :(得分:0)
您可以将concat
+ curl -u
与list comprehension
构造函数和Series.unique
一起使用:
DataFrame
apply
+ numpy.concatenate
+ numpy.unique
的另一种解决方案:
df = pd.concat([pd.DataFrame(x) for x in names.values.tolist()])
un = df['name'].unique()
print (un)