pandas :获得系列的前10个元素 [英] Pandas: get first 10 elements of a series

查看:176
本文介绍了 pandas :获得系列的前10个元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据列,其列为tfidf_sorted,如下所示:

I have a data frame with a column tfidf_sorted as follows:

   tfidf_sorted

0  [(morrell, 45.9736796), (football, 25.58352014...
1  [(melatonin, 48.0010051405), (lewy, 27.5842077...
2  [(blues, 36.5746634797), (harpdog, 20.58669641...
3  [(lem, 35.1570832476), (rottensteiner, 30.8800...
4  [(genka, 51.4667410433), (legendaarne, 30.8800...

type(df.tfidf_sorted)返回pandas.core.series.Series.

创建此列的方法如下:

df['tfidf_sorted'] = df['tfidf'].apply(lambda y: sorted(y.items(), key=lambda x: x[1], reverse=True))

其中tfidf是字典.

如何从tfidf_sorted获取前10个键值对?

How do I get the first 10 key-value pairs from tfidf_sorted?

推荐答案

IIUC,您可以使用:

IIUC you can use:

from itertools import chain 

#flat nested lists
a = list(chain.from_iterable(df['tfidf_sorted']))
#sorting
a.sort(key=lambda x: x[1], reverse=True)
#get 10 top
print (a[:10])

或者如果需要每行前10位,请添加[:10]:

Or if need top 10 per row add [:10]:

df['tfidf_sorted'] = df['tfidf'].apply(lambda y: (sorted(y.items(), key=lambda x: x[1], reverse=True))[:10])

这篇关于 pandas :获得系列的前10个元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆