我有这个数据框,我希望获得文档数量最高的组合。
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个主题,所以不需要其余记录。
答案 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