【发布时间】:2017-11-19 10:07:28
【问题描述】:
我有一个包含“clear_message”列的数据框,我创建了一个列来计算每行中的所有单词。
history['word_count'] = history.clear_message.apply(lambda x: Counter(x.split(' ')))
例如,如果行消息是:Hello my name is Hello
然后他所在行的计数器将是Counter({'Hello': 2, 'is': 1, 'my': 1, 'name': 1})
问题
我的文字中有表情符号,我还想要一个表情符号计数器。
例如:
test = '????????????????????here sasdsa'
test_counter = Counter(test.split(' '))
输出是:
Counter({'sasdsa': 1, '????????????????????here': 1})
但我想要:
Counter({'sasdsa': 1, '????': 5, 'here':1})
显然问题在于我使用的是split(' ')。
我的想法:
在表情符号前后添加一个空格。喜欢:
test = '???? ???? ???? ???? ???? here sasdsa'
然后使用拆分,这将起作用。
- 不确定这种方法是否最好。
- 不知道该怎么做。 (我知道如果
i是一个表情符号,那么if i in emoji.UNICODE_EMOJI将返回true(emoji包)。
【问题讨论】:
标签: python string pandas counter emoji