我有一個csv如下:

我需要“DocFreq”大于 5 的“Term”和“DocID”。我需要將其存盤為字典,其中 Term 是鍵,“DocID”用逗號分隔串列中該鍵的單個值。
例如,我需要
{"Want to be with":[doc100.txt,doc8311.txt,...doc123.txt], "and has her own": [doc100.txt,doc9286.txt...doc23330.txt]....}
到目前為止,我有這個:
df1 = df[(df['DocFreq'] > 5)][['Term','DocFreq','Ngram','DocID']]
但我無法得到我需要的格式。執行 df.to_dict() 給了我一個包含列名的字典,我不希望這樣。
請幫忙!!謝謝!!
uj5u.com熱心網友回復:
我會做這樣的事情:
data = pd.DataFrame({'Term': ['a', 'b', 'c', 'd', 'e'],
'DocFreq': [1, 2, 2, 6, 7],
'Ngram': [4, 4, 4, 4, 4],
'DocId': ['11, 123, 222', '22', '33', '44, 303, doa0', '55, 9393, idid']
})
filt = data[data['DocFreq'] > 5][['Term', 'DocId']]
result = {row['Term']: row['DocId'] for _, row in filt.iterrows()}
uj5u.com熱心網友回復:
你快到了。只需在呼叫之前選擇 DocID 列to_dict。您可以使用
dict1 = df.loc[(df['DocFreq'] > 5), ['Term','DocID']].set_index('Term')['DocID'].to_dict()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/490920.html
