如何比较两个数据框,以便我可以看到评论中使用的最独特的词

问题描述

我使用以下代码创建了两个数据框,一个用于正面评价,一个用于负面评价:

posdf=pos.select('words','label').groupBy("words",'label').count().sort("count",ascending=False)
posdf.show(51)

1

negdf=neg.select('words',ascending=False)
negdf.show(51)

2

然后创建两个数据框的内部连接以查看非唯一词:

ta = posdf.alias('ta')
tb = negdf.alias('tb')

inner_join = ta.join(tb,ta.words == tb.words)
inner_join.show()

3

如何比较两个数据帧并创建输出以查看数据帧之间的前 50 个独特词?

解决方法

要创建比较,请创建一个连接数据框,然后使用 leftanti 在数据框之间进行比较:

import PySimpleGUI as sg

choices = ('Windows Enterprise 10','Windows Server 19','MacOS','Ubuntu','Debian')
layout = [[sg.Text('Pick an OS')],[sg.Listbox(choices,size=(20,5),key='-OS-',enable_events=True),sg.Text(key='OUT',size=(30,text_color='#000000',background_color='#ffffff')]]

window = sg.Window('Pick an OS',layout,size=(500,200))

while True:
    event,values = window.read()
    if event == sg.WIN_CLOSED:
        break
    else:
        choice = values['-OS-']
        window['OUT'].update(f'You have selected:\n{choice}')
window.close()