2017-02-25 4 views
0

나는 파이썬에서 팬더로 작업하고 있는데, 칼럼 중 하나에 emojis가 포함 된 데이터 프레임이 있습니다. 예를 들어 "인생은 당신에게 레모네이드를 만들 때"또는 "떨어지는 C을 잡아서 넣는 것" 당신의 주머니 ". 모든 구절에서 이모티콘이있는 것은 아닙니다. 그렇다면 어구의 처음이나 끝이 아닌 어디에서나 사용할 수 있습니다. 각 텍스트를 살펴보고 표시되는 이모티콘, 가장 많이 나타나는 이모티콘 등의 빈도를 본질적으로 집계합니다. 실제로 이모티콘을 처리/인식하는 방법을 잘 모르겠습니다. 나는 열에서 텍스트의 각을 통과하는 경우, 어떻게 내가 등 수, 최대,Python/pandas로 텍스트에있는 이모티콘을 (어떻게 계산했는지/가장 자주 발생했는지 찾는 데) 찾는 방법은 무엇입니까?

+3

[파이썬을 사용하여 문자열에서 이모티콘을 찾고 계산하는 방법] (http://stackoverflow.com/questions/19149186/how-to-find-and-count-emoticons-in-a-string)의 가능한 복제본 -using-python) – hashcode55

+0

거기에 게시 된 솔루션은 저에게 적합하지 않습니다. 당신이 이것에 익숙하다면, 당신은 기꺼이 도울 수 있겠습니까? –

+0

예. 나는 해결책이 당신을 위해 일하지 않는다고 생각합니다. 왜냐하면 당신이 당신의 구에 들어있는 이모티콘이 답변에서 취한 유니 코드의 범위 밖에 있기 때문입니다 ... 범위를 다시 조정하면 효과가 있습니다. – hashcode55

답변

1

것은이

import pandas as pd 
from collections import defaultdict 

df = pd.DataFrame({'phrases' : ["Smiley emoticon rocks! I like you.\U0001f601", 
           "Catch a falling ⭐️ and put it in your pocket"]}) 
같은 dataframe가 있다고 가정으로 욕망의 정보를 수집 할 수있는 이모티콘을 식별 가겠어요

,464,423,136 : 당신이 좋아하는 뭔가를 할 수

    phrases 
0 Smiley emoticon rocks! I like you. 
1 Catch a falling ⭐️ and put it in your pocket 

를 산출

re.findall(u'[\U0001f300-\U0001f650]|[\u2000-\u3000', i)으로 범위를 변경했습니다.

대체 부분은 다른 유니 코드 그룹을 처리하는 것이지만 아이디어를 얻어야합니다.

파이썬 2.x에서 당신은

unicode('⭐️ ', 'utf-8') # u'\u2b50\ufe0f' - output 

출력를 사용하여 유니 코드로 이모티콘을 변환 할 수 있습니다 : 정규식은 뻔뻔하게도이 link에서 도난되는 것을

defaultdict(int, {'⭐': 1, '': 1, '': 1}) 

.