1 回答

TA貢獻1111條經驗 獲得超0個贊
看來您的函數沒有刪除一次出現的條目(即該組的記錄數)。
如果你想保持句子中單詞的順序,你可以添加as_index=False, sort=Falseas 選項groupby,如果這就是你所說的“分組數據時保持句子順序”的意思。
import pandas as pd
import re
from collections import Counter
data = [['1', '1', '1', '1', '1', '1', '1'],
['a', 'a', 'a', 'a', 'school', 'is', 'closed'],
['Object', 'Object', 'Object', 'Object', 'Depart', 'Verb', 'O']]
d = {'Sentence': data[0], 'Text': data[1], 'Classes': data[2]}
df = pd.DataFrame(data=d)
def md(s):
c = Counter(s)
return c.most_common(1)[0][0]
df_final = df.groupby(['Sentence','Text'], as_index=False, sort=False).Classes.agg(md)
print(df_final)
輸出:
Sentence Text Classes
0 1 a Object
1 1 school Depart
2 1 is Verb
3 1 closed O
添加回答
舉報