从一个字典的字典创建一个矩阵,用于计算文档之间的相似性
Create a matrix from a dict of dicts for calculating similarities between docs
这是我的问题:
我有一个这样的数据框:
id tfidf_weights
1 {word1: 0.01, word2: 0.01, word3: 0.01, ...}
2 {word4: 0.01, word5: 0.01, word6: 0.01, ...}
3 {word7: 0.01, word8: 0.01, word9: 0.01, ...}
4 {word10: 0.01, word11: 0.01, word12: 0.01, ...}
5 {word13: 0.01, word14: 0.01, word15: 0.01, ...}
.
.
.
列 'id' 表示文档的 ID,'tfidf_weights' 每个文档的每个单词的 tfidf 权重。
从这个数据框中,我可以获得具有以下结构的字典:
mydict = {1:{word1: 0.01, word2: 0.01, word3: 0.01, ...}, 2:{word4: 0.01, word5: 0.01, word6: 0.01, ...}, 3:{word7: 0.01, word8: 0.01, word9: 0.01, ...}, 4:{word10: 0.01, word11: 0.01, word12: 0.01, ...}, 5:{word13: 0.01, word14: 0.01, word15: 0.01, ...}, ...}
我想做的是,从这本字典中获得这样的矩阵:
word1 word2 word3 word4 ...
1 0.01 0.01 0.01 0.01
2 0.01 0.01 0.01 0.01
3 0.01 0.01 0.01 0.01
4 0.01 0.01 0.01 0.01
5 0.01 0.01 0.01 0.01
.
.
.
感谢您的帮助!
您可以直接使用 pandas DataFrame class 将字典列表转换为 DataFrame。
import pandas as pd
a = [{"0": 0}, {"1": 1}]
df = pd.DataFrame(a)
要将此应用于您的问题,您只需将 mydict
转换为字典列表而不是字典字典。
这是我的问题:
我有一个这样的数据框:
id tfidf_weights
1 {word1: 0.01, word2: 0.01, word3: 0.01, ...}
2 {word4: 0.01, word5: 0.01, word6: 0.01, ...}
3 {word7: 0.01, word8: 0.01, word9: 0.01, ...}
4 {word10: 0.01, word11: 0.01, word12: 0.01, ...}
5 {word13: 0.01, word14: 0.01, word15: 0.01, ...}
.
.
.
列 'id' 表示文档的 ID,'tfidf_weights' 每个文档的每个单词的 tfidf 权重。
从这个数据框中,我可以获得具有以下结构的字典:
mydict = {1:{word1: 0.01, word2: 0.01, word3: 0.01, ...}, 2:{word4: 0.01, word5: 0.01, word6: 0.01, ...}, 3:{word7: 0.01, word8: 0.01, word9: 0.01, ...}, 4:{word10: 0.01, word11: 0.01, word12: 0.01, ...}, 5:{word13: 0.01, word14: 0.01, word15: 0.01, ...}, ...}
我想做的是,从这本字典中获得这样的矩阵:
word1 word2 word3 word4 ...
1 0.01 0.01 0.01 0.01
2 0.01 0.01 0.01 0.01
3 0.01 0.01 0.01 0.01
4 0.01 0.01 0.01 0.01
5 0.01 0.01 0.01 0.01
.
.
.
感谢您的帮助!
您可以直接使用 pandas DataFrame class 将字典列表转换为 DataFrame。
import pandas as pd
a = [{"0": 0}, {"1": 1}]
df = pd.DataFrame(a)
要将此应用于您的问题,您只需将 mydict
转换为字典列表而不是字典字典。