将行转换为列 -> 第一列无法识别

Transforming rows to columns -> first column not recognized

我正在尝试从文本中提取表情符号计数,目前正在努力为输出列提供标题。 如果我尝试分配列,它只会识别一列(计数),而不是表情符号列本身,这是第一列,所以我认为问题出在那里?我以为将索引设置为 0 就可以解决这个问题,但显然我误解了这一点。 我是否需要将 df 转换为系列以识别第一列和第二列并能够命名它们? (让我们进入:columns=['emoji','count']

MWE:

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日㈬は…\n\n♦️18:50〜 山岸一生\n『練馬から変える!国会を創る!キックオフ集会』\nhttpstest\n\n♦️20:30~ 辻元清美\n#りっけんチャンネル\n「コロナ禍・五輪から見えた""おっさん政治""の実態」について\nhttpsxzt\n\n【テレビ】\n♦️19:30~ 玄葉光一郎\nBS-TBS「報道1930」",'author_id':951781409470889984},
{'id':1432687902148816898,'created_at':"2021-08-31T12:53:08.000Z",'text':"やはり別の地平であったか...\n\nコロナ禍五輪\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