基于DataFrame句子计算字典词值总和全为0,求排查方案
问题
此前我用以下代码将列表lista中的词汇与键值字典diccionario匹配,计算得到总和为8:
import pandas as pd diccionario = pd.read_csv(dict, header=0).set_index("nombre")["valor"].to_dict() lista = ["felicidad", "paz", "día", "estoy", "isla", "alivio", "-"] print(sum([diccionario[i] for i in lista if i in diccionario]))
现在我希望从谷歌表格读取句子生成DataFrame以扩展更多列表,通过以下链接读取表格:
b = f"https://docs.google.com/spreadsheets/d/1-odw996EIUB9mo2Ad1fNh0y9QiXv7GU81COMj6g1Z-A/gviz/tq?tqx=out:csv&sheet=b"
读取并使用NLTK分词后得到带text_token列的DataFrame:
import pandas as pd text = pd.read_csv(b, header=0)
regexp = RegexpTokenizer('\w+') text['text_token']=text['frases'].apply(regexp.tokenize)
但使用以下代码计算每个句子的词值总和时,新列suma全为0:
text['suma']=(diccionariob[diccionariob['nombre'].isin(text['frases'])]['valor'].sum()) print(sum([diccionario[i] for i in lista if i in diccionario]))
当前DataFrame内容如下:
| frases | text_token | suma |
|---|---|---|
| hola la casa es bonita paz felicidad | [hola, la, casa, es, bonita, paz, felicidad] | 0 |
| pasos de gigante feliz alegria mejor paz | [pasos, de, gigante, feliz, alegria, mejor] | 0 |
| estás muy bien paz | [estás, muy, bien, paz] | 0 |
| mucha felicidad paz | [mucha, felicidad, paz] | 0 |
请问我忽略了什么问题?感谢解答!
内容的提问来源于stack exchange,提问作者Saríah
相关产品推荐
相关产品推荐

