Skip to main content
 首页 » 编程设计

python之Pandas之包含评论(行)和单词作为列标题的数据框如何获得频率计数

2025年05月04日19jiqing9006

我正在尝试对相对较大的数据帧执行词频计数,但不知道哪种方法最好。

目前我的数据框看起来像这样 -

 Comment        'I'    'it'    'is'    'up' 
 
'I was here'    NaN    NaN     NaN     NaN 
'I like soup'   NaN    NaN     NaN     NaN 
'whats up'      NaN    NaN     NaN     NaN 
'This is it'    NaN    NaN     NaN     NaN 

我的目标是对每条评论的列标题(“I”、“it”、“is”、“up”)中的每个词执行频率计数。例如。在计数过程之后,结果应该看起来像这样 -

 Comment        'I'    'it'    'is'    'up' 
 
'I was here'     1      0        0      0 
'I like soup'    1      0        0      0 
'whats up'       0      0        0      1 
'This is it'     0      1        1      0 

最好的方法是什么?真实数据集包含大约 50k 条评论和超过 10k 列不同的词。

请您参考如下方法:

我认为没有比以下更好的方法了:

for column in df.columns[1:]: # All but comment column. 
   df[column] = df[column].str.contains(df['Comment']) 

这将为您提供一个 bool 值矩阵,如果您真的需要,您可以将其映射到位。