查找最受欢迎的组合

时间:2019-04-12 05:43:03

标签: pandas

我有这个数据框,我希望获得文档数量最高的组合。

df = pd.read_csv('https://s3.amazonaws.com/todel162/final.csv', header=None)
df.columns = ["topic_lda", "topic_nmf", "document_count"]
df.sort_values("document_count", ascending=False)

我想得到这样的结果...

Expected output:
    1 0 4761
    4 1 2715
    3 4 2352
    0 3 1004
    2 2 770
  

由于已采用0,因此省略了组合4-0、0-0、3-0

     

组合1-2被省略,因为已经取了1。

因为有0到4个主题,所以不需要其余记录。

1 个答案:

答案 0 :(得分:0)

使用:

#first filter by topic_nmf and then by topic_lda columns
df1 = df.drop_duplicates('topic_nmf').drop_duplicates(['topic_lda'])
print (df1)
    topic_lda  topic_nmf  document_count
5           1          0            4761
21          4          1            2715
19          3          4            2352
3           0          3            1004

#filter not matched rows by topic_lda and remove duplicates
df2 = df[~(df['topic_lda'].isin(df1['topic_lda']))].drop_duplicates(['topic_lda'])
print (df2)
    topic_lda  topic_nmf  document_count
12          2          2             770

#join together
df3 = pd.concat([df1, df2])
print (df3)
    topic_lda  topic_nmf  document_count
5           1          0            4761
21          4          1            2715
19          3          4            2352
3           0          3            1004
12          2          2             770