我正试图从文本中提取表情符号计数,目前难以给出输出列标题。如果我尝试分配列,它只会识别一列(计数),而不是表情符号列本身,这是第一个,所以我想问题就在那里?我以为把索引设为0就能解决这个问题,但显然我误解了。我是否需要将df转换成一个序列来识别第一列和第二列并能够命名它们?(let same into:columns=['emoji','count'
)
兆瓦:
import csv
import re
import pandas as pd
import emoji
import regex
from collections import Counter
def split_count(text):
emoji_list = []
data = regex.findall(r'X', text)
for word in data:
if any(char in emoji.UNICODE_EMOJI['en'] for char in word):
emoji_list.append(word)
return emoji_list
df = pd.DataFrame([{'id':1432691762007400458,'created_at':"2021-08-31T13:08:28.000Z",'text':"9月1日㈬は…🎺🎺🎶nn♦️18:50〜 山岸一生n『練馬から変える!国会を創る!キックオフ集会』nhttpstestnn♦️20:30~ 辻元清美n#りっけんチャンネルn「コロナ禍・五輪から見えた""おっさん政治""の実態」についてnhttpsxztnn【テレビ】n♦️19:30~ 玄葉光一郎nBS-TBS「報道1930」",'author_id':951781409470889984},
{'id':1432687902148816898,'created_at':"2021-08-31T12:53:08.000Z",'text':"やはり別の地平であった🎶か...nnコロナ禍五輪n貴重な物資をなぜ捨てる?",'author_id':1227501971742937088}])
text = df['text']
emoji_list= []
for t in text:
emoji_list=emoji_list+split_count(t)
df_sa = pd.DataFrame((Counter(emoji_list)), index=[0])
df_t = df_sa.T
print(df_t)
当前结果:
0
🎺 2
🎶 2
♦️ 3
想要的结果
emoji count
🎺 2
🎶 2
♦️ 3
让我们修复您创建数据框架的方式:
pd.DataFrame(Counter(emoji_list).items(), columns=['emoji', 'count'])
emoji count
0 🎺 2
1 🎶 2
2 ♦️ 3