91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

共現(xiàn)矩陣生成python實現(xiàn) 包括源代碼和打包好的exe
Co-occurrence_Matrix.exe 軟件本體
data.csv 原始數(shù)據(jù) 上面讓你準(zhǔn)備的那個
node.csv 節(jié)點數(shù)據(jù) (包含節(jié)點名稱+詞頻數(shù))
edge.csv 節(jié)點關(guān)系的三元組存儲形式存儲(包含兩兩節(jié)點關(guān)系+關(guān)系頻數(shù))
co_occurrence_matrix.csv 共現(xiàn)矩陣(稀疏矩陣形式)

資源截圖

代碼片段和文件信息

#?encoding:utf-8
import?datetime


def?sortDictValueByme(dict?is_reverse):
????‘‘‘
????將字典按照value排序
????:param?dict:?待排序的字典
????:param?is_reverse:?是否按照倒序排序
????:return?s:?符合csv逗號分隔格式的字符串
????‘‘‘
????#?對字典的值進(jìn)行倒序排序items()將字典的每個鍵值對轉(zhuǎn)化為一個元組key輸入的是函數(shù)item[1]表示元組的第二個元素reverse為真表示倒序

????tups?=?sorted(dict.items()?key=lambda?item:?item[0]?reverse=is_reverse)
????s?=?‘‘
????for?tup?in?tups:??#?合并成csv需要的逗號分隔格式
????????s?=?s?+?tup[0]?+?‘‘?+?str(tup[1])?+?‘\n‘
????return?s


def?get_Co_authors(filePath):
????‘‘‘
????讀取csv文件獲取作者信息并存儲到列表中
????:param?filePath:?csv文件路徑
????:return?co_authors_list:?一個包含所有作者的列表
????‘‘‘
????#?設(shè)置編碼為utf-8-sig防止首部\ufeff的出現(xiàn)它是windows系統(tǒng)自帶的BOM用于區(qū)分大端和小端UTF-16編碼
????with?open(filePath?‘r‘?encoding=‘utf-8-sig‘)?as?f:
????????text?=?f.read()
????????co_authors_list?=?text.split(‘\n‘)??#?分割數(shù)據(jù)中的換行符‘\n‘兩邊的數(shù)據(jù)
????????#?print(co_authors_list)
????????co_authors_list.remove(‘‘)??#?刪除列表結(jié)尾的空字符
????????return?co_authors_list


def?str2csv(filePath?s):
????‘‘‘
????將字符串寫入到本地csv文件中
????:param?filePath:?csv文件路徑
????:param?s:?待寫入字符串(逗號分隔格式)
????‘‘‘
????with?open(filePath?‘w‘?encoding=‘utf-8‘)?as?f:
????????f.write(s)
????print(‘寫入文件成功請在‘?+?filePath?+?‘中查看‘)


def?sortDictValue(dict?is_reverse):
????‘‘‘
????將字典按照value排序
????:param?dict:?待排序的字典
????:param?is_reverse:?是否按照倒序排序
????:return?s:?符合csv逗號分隔格式的字符串
????‘‘‘
????#?對字典的值進(jìn)行倒序排序items()將字典的每個鍵值對轉(zhuǎn)化為一個元組key輸入的是函數(shù)item[1]表示元組的第二個元素reverse為真表示倒序
????tups?=?sorted(dict.items()?key=lambda?item:?item[0]?reverse=is_reverse)
????s?=?‘‘
????for?tup?in?tups:??#?合并成csv需要的逗號分隔格式
????????s?=?s?+?tup[0]?+?‘‘?+?str(tup[1])?+?‘\n‘
????return?s


def?build_matrix(co_authors_list?is_reverse):
????‘‘‘
????根據(jù)共同作者列表構(gòu)建共現(xiàn)矩陣(存儲到字典中)并將該字典按照權(quán)值排序
????:param?co_authors_list:?共同作者列表
????:param?is_reverse:?排序是否倒序
????:return?node_str:?三元組形式的節(jié)點字符串(且符合csv逗號分隔格式)
????:return?edge_str:?三元組形式的邊字符串(且符合csv逗號分隔格式)
????‘‘‘
????node_dict?=?{}??#?節(jié)點字典包含節(jié)點名+節(jié)點權(quán)值(頻數(shù))
????edge_dict?=?{}??#?邊字典包含起點+目標(biāo)點+邊權(quán)值(頻數(shù))
????#?第1層循環(huán)遍歷整表的每行作者信息
????for?row_authors?in?co_authors_list:
????????row_authors_list?=?row_authors.split(‘‘)??#?依據(jù)‘‘分割每行所有作者存儲到列表中
????????#?filter(None?row_authors_list)
????????while?‘‘?in?row_authors_list:
????????????row_authors_list.remove(‘‘)
????????#?print(row_authors_list)

????????#?第2層循環(huán)遍歷當(dāng)前行所有作者中每個作者信息
????????for?index?pre_au?in?enumerate(row_authors_list):??#?使用enumerate()以獲取遍歷次數(shù)index
????????????#?統(tǒng)計單個作者出現(xiàn)的頻次
????????????if?pre_au?not?in?node_dict:
????????????????node_dict[pre_au]?=?1
????????????else:
????????????????node_dict[pre_au]?+=?1
????????????#?若遍歷到倒數(shù)第一個元素則無需記錄關(guān)系結(jié)束循環(huán)即可
????????????if?pre_au?==?row_authors_list[-1]:
????????????????break
????????????connect_list?=?row_authors_list[index?+?1:]
????????????#?第3層循環(huán)遍歷當(dāng)前行該作者后面所有的合作者以統(tǒng)計兩兩作者合作的頻次
????????????for?next_au?in?connect_list:
????????????????A?B?=?pre_au?next_au
????????????????#?固定兩兩作者的順序
????????????????if?A?>?B:
????????????????????A?B?=?B?A
????????????????key?=?A?+?‘‘?+?B??#?格式化為逗號分隔AB形式作為字典的鍵
????????????????#?若該關(guān)

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-11-27?09:35??共現(xiàn)矩陣\
?????文件?????6579035??2019-11-26?23:36??共現(xiàn)矩陣\Co-occurrence_Matrix.exe
?????文件????????8108??2019-11-27?09:35??共現(xiàn)矩陣\Co-occurrence_Matrix.py
?????文件????????1352??2019-11-27?09:34??共現(xiàn)矩陣\co_occurrence_matrix.csv
?????文件?????????269??2019-11-27?09:09??共現(xiàn)矩陣\data.csv
?????文件?????????944??2019-11-27?09:34??共現(xiàn)矩陣\edge.csv
?????文件?????????315??2019-11-27?09:34??共現(xiàn)矩陣\node.csv
?????文件??????575179??2019-11-27?09:31??共現(xiàn)矩陣\操作說明.docx

評論

共有 條評論