如何获得按第二个变量分组的单词频率计数(Python)

噢亲爱的:

我是Python的新手,所以我可能没有正确地写出这个词来找到答案。

使用熊猫,我可以在数据的描述字段中为每条记录找到最频繁的N个单词。但是,我有两列;分类列和说明字段。如何找到每个类别中最常见的单词?

防爆数据:

 - Property|Description
 - House| Blue, Two stories, pool
 - Car| Green, Dented, Manual, New
 - Car| Blue, Automatic, Heated Seat
 - House|New, Furnished, HOA
 - Car|Blue, Old, Multiple Owners

我当前的代码将返回Blue = 3,New = 2等。但是我需要知道的是,Blue两次出现在Car一词上,而House出现了一次。

当前相关代码

words = (data.Description.str.lower().str.cat(sep=' ').split())
keywords=pandas.DataFrame(Counter(words).most_common(10), columns=['Words', 'Frequency'])


墙壁:

数据

df=pd.DataFrame({'Property':['House','Car','Car','House','Car'],'Description':['Blue,Two stories,pool','Green,Dented,Manual,New','Blue,Automatic,Heated Seat','Blue,Furnished,HOA','Blue,Old,Multiple Owners']})

链式解决方案 df.assign(words=df.Description.str.lower().str.split(',')).explode('words').groupby('Property')['words'].value_counts()

细目解释

#Create list

df['words'] = df.Description.str.lower().str.split(',')

 #Explode and count

df=df.explode('words').groupby('Property')['words'].value_counts()

Property  words          
Car       blue               2
          automatic          1
          dented             1
          green              1
          heated seat        1
          manual             1
          multiple owners    1
          new                1
          old                1
House     blue               2
          furnished          1
          hoa                1
          pool               1
          two stories        1
Name: words, dtype: int64

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Bash shell-按第二个字母排序单词列表?

如何仅打印或获得第二个结果

ggvis并排条形图按第二个变量分组

分割字符串并获得倒数第二个单词

Python:如何为所有变量生成频率计数

Mapreduce Job在python中查找单词频率计数

如何对两个变量进行分组并按其计数,以及如何“散布”第二个变量,所有这些都在data.table中

如何有效地将向量对按第二个值分组?

频率表,其中第二个变量为R中的“分析权重”

第二行变量的频率计数

Python在Excel中获得第二个循环到第二列

PHP Regex获得第二个分组匹配

使用itertools将连续元组按第二个值分组

如何获得列表中元素的第二个单词

按标题第二个单词发布订单

2个文件中的单词频率计数

如何获得第二个标签值

如何创建按第二个元素排序和分组的成对列表的列表?

按名称分组时将sqlite数据合并到第二个表中

如果变量包含一个集合,那么我如何获得第二个项目

如何从第二个窗口访问 MainWindow 的变量

基于 R 中的第二个列表在一个列表中求和词频

Octobercms - 按变量排序记录,如果值相同,则按第二个变量排序

如何按数组的第二个值对 Seq[Array[(Int, Int)]]) 进行分组

如何按第二个单词对列表进行排序?

如何在 Python 中按升序对第一个变量、按自定义顺序的第二个变量和降序的第三个变量对 Python 中的 DataFrame 进行排序

如何从 MetaMask 获得第二个余额?

如何按列表的第二个元素对 Python DataFrame 进行排序

获取按 id 分组的第二个最大值