基于列表计算DataFrame中的匹配值

马希帕尔·辛格

我有一个数据框,例如有一些项目标题

ratings_dict = {
    "TYPE": ["Testing","Headphone","Iphone","AC","Laptop","Monitor"],
}

df = pd.DataFrame(ratings_dict)

想要根据给定的列表计算值:

Search_history=['test','phone','lap','testing','tes','iphone','Headphone','head','Monitor','ac']

预期输出:

在此处输入图片说明

注意:在这种情况下,单词“phone”与数据帧“Headphone”和“Iphone”中的 2 个值匹配,则两者的 Count 都会增加。

任何建议或代码片段都会有所帮助。

迈克尔·斯科特

您需要将所有内容转换为小写,然后计算 TYPE 是搜索历史项的子字符串的次数,反之亦然

import pandas as pd

ratings_dict = {
    "TYPE": ["Testing","Headphone","Iphone","AC","Laptop","Monitor"],
}
df = pd.DataFrame(ratings_dict)

Search_history=['test','phone','lap','testing','tes','iphone','Headphone','head','Monitor','ac']

# convert everything to lower case
Search_history = [ x.lower() for x in Search_history]
df['TYPE'] = [ x.lower() for x in df.TYPE]

# count up the number of times one of the TYPEs is a substring of a Search_history or a Search_history is a substring of a TYPE
df['count'] = [ sum( x in y or y in x for y in Search_history) for x in df.TYPE]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Python Pandas中基于DataFrame中的日期进行值计算?

基于匹配多个键:值对在列表中组合字典

列表中的值匹配

如果特定值与列表中的值匹配,则基于该值创建新的数据框

根据列表的匹配值过滤 DataFrame 中的行

匹配列表基于其值的索引

DataFrame 列中的嵌套列表:如何对单个值进行计算?

计算sqlite中的匹配值

基于文本匹配在Pandas DataFrame上加入并运行计算

如何计算字典值中的标记并将每个匹配项替换为列表中的项

计算python中dataframe中与引用变化值的条件匹配的行

匹配DataFrame中的相似值

通过从列表中获取值,基于列值动态删除Pandas中的DataFrame行

计算DataFrame中的分类值

有没有办法获取列表包含的与 Pandas Dataframe 中的值匹配的值?

匹配的正则表达式模式仅计算单词列表中的唯一值

Pandas DataFrame基于列表的部分字符串匹配

计算列表内列表中的值

當列值與列表中的元組匹配時,刪除 Pandas Dataframe 中的行

如何通过基于 python 中的匹配属性迭代字典的键/值对,为列表中的每个项目分配新类?

比较GroupBy中的值并计算匹配的行

计算JasperReports中的列总和,并基于该值进行计算

基于列表元素的计算

Java的8流:找到一个列表中的项目相匹配的条件计算基于从另一个列表中值

给定输入值列表,如何计算 Python 中的 Pandas DataFrame 列的计数?

我想基于上一列添加一个新的DataFrame列,以便如果上一列元素与列表值匹配,请更改该值

基于行值迭代重新计算pandas中列的值

计算DataFrame列中的列表长度

基于计算值的django计算