第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在字典中尋找相似之處

在字典中尋找相似之處

湖上湖 2021-07-19 16:18:50
我試圖找到多個 .txt 文件之間的相似之處。我已經(jīng)把所有這些文件放在一個字典中,文件名作為關(guān)鍵字。當(dāng)前代碼:import pandas as pdfrom os import listdir, chdir, getcwdpath = (r'C:\...path')chdir(path)files = [f for f in listdir(path)]files_dict = {}for filename in files:    if filename.lower().endswith(('.txt')):        files_dict[str(filename)] = pd.read_csv(filename).to_dict('split')for key, value in files_dict.items():    print(key + str(value) +'\n')在這種情況下,關(guān)鍵是文件名。值是標(biāo)題和數(shù)據(jù)。我想找出多個文件之間的值是否有重復(fù),以便我可以在 SQL 中加入它們。我不知道該怎么做編輯示例文件:timestamp,Name,Description,Default Column Layout,Analysis View Name00000000B42852FA,ADM_EIG,Administratief eigenaar,ADM_EIG,ADM_EIG000000005880959E,OPZ,Opzeggingen,STANDAARD,并從代碼:Acc_ Schedule Name.txt{'index': [0, 1], 'columns': ['timestamp', 'Name', 'Description', 'Default Column Layout', 'Analysis View Name'], 'data': [['00000000B42852FA', 'ADM_EIG', 'Administratief eigenaar', 'ADM_EIG', 'ADM_EIG'], ['000000005880959E', 'OPZ', 'Opzeggingen', 'STANDAARD', nan]]}編輯 2:建議的代碼for key, value in files_dict.items():    data = value['data']    counter = Counter([item for sublist in data for item in sublist])    print([value for value, count in counter.items()])輸出: ['00000000B99BD831', 5050, 'CK102', '0,00000000000000000000', 'Thuiswonend', 0, '00000000B99BD832', ........
查看完整描述

2 回答

?
翻閱古今

TA貢獻(xiàn)1780條經(jīng)驗 獲得超5個贊

該Counter數(shù)項的頻率,所以會告訴你什么比這一次更出現(xiàn)。data從你的字典中取出:


from Collections import Counter


data = [

   ['00000000B42852FA', 'ADM_EIG', 'Administratiefeigenaar', 'ADM_EIG', 'ADM_EIG'],

   ['000000005880959E', 'OPZ', 'Opzeggingen', 'STANDAARD', nan]

]

您需要展平列表列表:


[item for sublist in data for item in sublist]

計數(shù)器將為您提供每個項目的頻率:


>>> Counter([item for sublist in data for item in sublist])

Counter({'ADM_EIG': 3, '00000000B42852FA': 1, 'Administratief eigenaar': 1, '000000005880959E': 1, 'OPZ': 1, 'Opzeggingen': 1, 'STANDAARD': 1, nan: 1})

然后您可以過濾您需要的內(nèi)容:


counter = Counter([item for sublist in data for item in sublist])

[value for value, count in counter.items() if count > 1]

這使 ['ADM_EIG']


編輯以匹配問題編輯


要查看所有行,請獲取所有數(shù)據(jù)并查找重復(fù)項:


data = []

for key, value in files_dict.items():

    data.extend(value['data'])


counter = Counter([item for sublist in data for item in sublist])

print([value for value, count in counter.items() if count > 1])


查看完整回答
反對 回復(fù) 2021-07-28
  • 2 回答
  • 0 關(guān)注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號