isin pandas没有显示数据框中的所有值

时间:2017-02-01 13:05:39

标签: pandas numpy

我正在使用亚马逊数据库进行研究,我想选择100个评分最高的项目。所以首先我计算了itemID的值(asin) data = amazon_data_parse(' data / reviews_Movies_and_TV_5.json.gz') unique,counts = np.unique(data [' asin'],return_counts = True) test = np.asarray((unique,counts))。T test.sort(轴= 1) 这使: 数组([[5,' 0005019281'],        [5,' 0005119367'],        [5,' 0307141985'],        ...        [1974,' B00LG7VVPO'],        [2110,' B00LH9ROKM'],        [2213,' B00LT1JHLW']],dtype = object) 很明显,必须至少选择6.000行。但如果我跑: a =测试[49952:50054,1] a = a.tolist() test2 = data [data.asin.isin(a)] 它只从数据集中选择2000行。我已经尝试了多种方法,比如只在一个asin上进行过滤,但它似乎并没有起作用。有人可以帮忙吗?如果有一个更好的选择来获取asin列中包含100个最常值的行的数据帧,我也会很高兴。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,不得不将排序行更改为:

test = test[test[:,1].argsort()]