我有一个pandas数据框,其中包括这样的列(以及其他列),RATING是整数0到5,COMMENT是字符串:
RATING COMMENT
1 some text
2 more text
3 other text
... ...
我现在想挖掘(由于缺少更好的单词),用于列出字符串列表的关键字:
list = ['like', trust', 'etc etc etc']
,并希望通过COMMENT进行迭代,并通过评分对关键字的数量进行计数,从而获得df
KEYWORD RATING COUNT
like 1 202
like 2 325
like 3 0
like 4 967
like 5 534
...
trust 1 126
....
我该如何实现?
我是初学者,非常感谢您的帮助(而且越简单越容易理解越好)
谢谢
嗨,我一直在手动进行遍历, 即
#DATA_df is the original data
word_list = ['word', 'words', 'words', 'more']
values = [0] * len(word_list)
tot_val=[values]*5
rating_table = pd.DataFrame(tot_val, columns=word_list)
for i in len(word_list):
for g in len (DATA_df[COMMENT]):
if i in DATA_df[COMMENT][g]:
rating_table[i][DATA_df[RATING]-1] +=1
这给了像这样的DF
word words words more
0 0 0 0 0
1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
4 0 0 0 0
我随后尝试添加的...看起来很笨拙
答案 0 :(得分:0)
我设法解决了这个问题,学到的要点是使用分组依据根据等级预先选择数据,这会对数据进行切片,并且可以在各组之间进行交替。将str.lower()与str.count()结合使用效果很好。
如果有经验的程序员能够为我提供更好的解决方案,我感到非常感谢,但这至少可以奏效。
[1] TRUE FALSE FALSE FALSE FALSE FALSE
[1] FALSE TRUE TRUE FALSE FALSE FALSE
[1] FALSE FALSE TRUE TRUE TRUE FALSE
我仍在努力的一件事是如何使用正则表达式使它查找完整的单词。我相信\ b是正确的,但是如何将其放入str.count函数呢?