如何在jupyter notebook中定义word_dict
时间: 2023-11-12 12:03:52 浏览: 34
要在 Jupyter Notebook 中定义一个 word_dict 可以按照以下步骤进行:
1. 首先,创建一个空的字典,例如:
```python
word_dict = {}
```
2. 然后,向字典中添加键值对,例如:
```python
word_dict['apple'] = 1
word_dict['banana'] = 2
word_dict['orange'] = 3
```
这里,我们以单词为键,以数字为值,将它们添加到字典中。
3. 最后,你可以通过调用字典的键来访问其值,例如:
```python
print(word_dict['apple']) # 输出 1
print(word_dict['banana']) # 输出 2
print(word_dict['orange']) # 输出 3
```
这样,你就在 Jupyter Notebook 中定义了一个 word_dict,并向其中添加了一些键值对。
相关问题
如何在jupyter notebook 中运行abaqus python
要在Jupyter Notebook中运行Abaqus Python,需要按照以下步骤进行操作:
1. 打开Anaconda Prompt或终端,并激活您的Abaqus环境。
2. 在命令行中输入以下命令来启动Jupyter Notebook:
```
jupyter notebook
```
3. 在Jupyter Notebook中创建一个新的Python 3笔记本。
4. 在笔记本中输入以下代码来导入Abaqus Python模块并运行脚本:
```python
from abaqus import *
from abaqusConstants import *
import __main__
# 运行Abaqus Python脚本
execfile('your_script.py', __main__.__dict__)
```
其中,'your_script.py'是您要运行的Abaqus Python脚本的文件名。
请注意,您需要在Abaqus环境中运行Jupyter Notebook才能使用Abaqus Python模块。如果您在没有激活Abaqus环境的情况下尝试运行Jupyter Notebook,则无法导入Abaqus Python模块。
把这段代码import math from collections import defaultdict corpus =["二价 二价 二价 四价 预约", "四价 四价 四价 九价 预约", "九价 九价 九价 九价 预约"] words = [] for sentence in corpus: words.append(sentence.strip().split()) # 进行词频统计 def Counter(words): word_count = [] for sentence in words: word_dict = defaultdict(int) for word in sentence: word_dict[word] += 1 word_count.append(word_dict) return word_count word_count = Counter(words) # 计算TF(word代表被计算的单词,word_dict是被计算单词所在句子分词统计词频后的字典) def tf(word, word_dict): return word_dict[word] / sum(word_dict.values()) # 统计含有该单词的句子数 def count_sentence(word, word_count): return sum([1 for i in word_count if i.get(word)]) # i[word] >= 1 # 计算IDF def idf(word, word_count): return math.log((len(word_count) / (count_sentence(word, word_count) + 1)),10) # 计算TF-IDF def tfidf(word, word_dict, word_count): return tf(word, word_dict) * idf(word, word_count) p = 1 for word_dict in word_count: print("part:{}".format(p)) p += 1 for word, cnt in word_dict.items(): print("word: {} ---- TF-IDF:{}".format(word, tfidf(word, word_dict, word_count))) print("word: {} ---- TF:{}".format(word, tf(word, word_dict))) print("word: {} ---- IDF:{}".format(word, idf(word, word_count))) print("word: {} ---- count_sentence:{}".format(word, count_sentence(word, word_count)))中计算idf的def idf(word, word_count)部分改成自定义输入权重[1,2,3]得到最终的改进后的TF-IDF值,请帮我改进一下代码
好的,根据您的要求,我修改了代码,将idf的计算方式修改为自定义输入权重[1,2,3],代码如下:
```
import math
from collections import defaultdict
corpus =["二价 二价 二价 四价 预约", "四价 四价 四价 九价 预约", "九价 九价 九价 九价 预约"]
words = []
for sentence in corpus:
words.append(sentence.strip().split())
# 进行词频统计
def Counter(words):
word_count = []
for sentence in words:
word_dict = defaultdict(int)
for word in sentence:
word_dict[word] += 1
word_count.append(word_dict)
return word_count
word_count = Counter(words)
# 计算TF(word代表被计算的单词,word_dict是被计算单词所在句子分词统计词频后的字典)
def tf(word, word_dict):
return word_dict[word] / sum(word_dict.values())
# 统计含有该单词的句子数
def count_sentence(word, word_count):
return sum([1 for i in word_count if i.get(word)]) # i[word] >= 1
# 计算IDF
def idf(word, word_count, weights):
return math.log((len(word_count) / (count_sentence(word, word_count) + 1)),10) * weights[word]
# 计算TF-IDF
def tfidf(word, word_dict, word_count, weights):
return tf(word, word_dict) * idf(word, word_count, weights)
# 自定义权重
weights = {
"二价": 1,
"四价": 2,
"九价": 3,
}
p = 1
for word_dict in word_count:
print("part:{}".format(p))
p += 1
for word, cnt in word_dict.items():
print("word: {} ---- TF-IDF:{}".format(word, tfidf(word, word_dict, word_count, weights)))
print("word: {} ---- TF:{}".format(word, tf(word, word_dict)))
print("word: {} ---- IDF:{}".format(word, idf(word, word_count, weights)))
print("word: {} ---- count_sentence:{}".format(word, count_sentence(word, word_count)))
```
在这个代码中,我们增加了一个新的参数weights,用来存储自定义的权重,然后在idf计算时,乘以相应的权重。最后在计算tfidf时,将权重传递给idf函数即可。