pandas 在Python中的现有DataFrame中添加新列EmojiName

zd287kbt  于 2023-06-20  发布在  Python
关注(0)|答案(1)|浏览(87)

df_1是具有称为“message”的列的 Dataframe 。这个专栏也有几个emoji。我正在尝试使用Emoji和EmojiName创建一个新的dataframe df_2。
下面的代码给了我Emoji的图标:

import emoji
emojis =[]
for message in df_1['message']:
    emojis.extend(c for c in message if c in emoji.EMOJI_DATA)
df_2 = pd.DataFrame(emojis)

现在,在同一个 Dataframe df_2中,我想再添加一个名为“EmojiName”的列,我知道有一个名为“emoji. EMOJI_DATA”的函数,它为您提供了emoji的描述,但我不能使用它来创建一个 Dataframe 列。
需要你的帮助。

bkkx9g8r

bkkx9g8r1#

您可以使用Map系列:

emoji_names = pd.DataFrame.from_dict(emoji.EMOJI_DATA, orient='index')['en']
# or
emoji_names = {k: d['en'] for k,d in emoji.EMOJI_DATA.items()}

df_2['EmojiName'] = df_2[0].map(emoji_names)

示例输出:

0    EmojiName
0  👍  :thumbs_up:
1  ❤  :red_heart:

使用的输入:

df_1 = pd.DataFrame({'message': ['Python is 👍', 'I ❤️ python']})

相关问题