gpt4 book ai didi

python - 如何用字典中的数字替换 pandas 列中句子中的所有单词,然后对它们求和?

转载 作者:太空宇宙 更新时间:2023-11-03 12:30:01 25 4
gpt4 key购买 nike

我有以下数据框

import pandas as pd
df = pd.DataFrame({'col': ['bad good better three worst', 'awful best one']})

我有以下字典 dc = dict({'bad':-1,'good':1,'better':2,'worst':-3,'awful':-5} )

我想用 dc 中与该单词对应的数字替换 col 中的所有单词,然后对数字求和。

首先我尝试使用替换

def replace_words(s, words):
for k, v in words.items():
s = s.replace('^'k+'$', v, regex=True)
return s

df['col'] = df['col'].apply(lambda x: [replace_words(i, dc) for i in x.split(' ')])

但这行不通。

有什么想法吗?

最佳答案

这应该可行

df.col.apply(lambda x: sum([dc.get(i) if dc.get(i) else 0 for i in x.split()]))

输出

0   -1
1 -5


笔记 :如果在 dc 中找不到该词,则使用 0 值,如果不是,请推荐,因为它没有被提及

关于python - 如何用字典中的数字替换 pandas 列中句子中的所有单词,然后对它们求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56359442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com