我一直在尝试制作一个自动更正和完成程序,并尝试使用CSV的频率算法使其更有用,但我对使用CSV文件还很陌生。我正在尝试从CSV文件创建一个字典,然后我可以使用它来确定最佳结果。
CSV文件包含百万行中的1/3,从最高频率到最低频率排序。它以两个项目类别“单词”和“计数”开始,然后是333,333行。
word,count
the,23135851162
of,13151942776
and,12997637966
to,12136980858
a,9081174698
in,8469404971
for,5933321709
is,4705743816
on,3750423199
使用文件here,我尝试创建一个字典,如下所示:
{"the":23135851162, "of":13151942776, "and":12997637966, "to":12136980858, etc.}
我试着用下面的脚本使用Pandas库,
import pandas as pd
data = pd.read_csv("./unigram_freq.csv")
wordFreq = {col: list(data[col]) for col in data.columns}
但最终得到的字典输出如下所示。
{'word': ['the', 'of', 'and', 'to', etc.], 'count':[23135851162, 13151942776, 12997637966, 12136980858, etc.]}
1条答案
按热度按时间xxb16uws1#
您已经非常接近了-
dict(zip(*[data[col] for col in data.columns]))
应该可以工作,但是当您将两列zip
在一起,使它们成为可以转换为字典的键-值对列表时,更具体一些可能会更好:或者,您可以使用
<DataFrame>.to_dict
函数,如不过,如果有两个以上的列(或者它们的顺序不同),则需要指定哪个列用于键,哪个列用于值: