如何从文本中提取表情符号,然后将它们添加到新列中?

How to extract emojis from text and then add them to a new column?

我想知道如何从文本中提取所有表情符号,然后将它们添加到新列,同时从原始文本中删除它们 - 如果这有意义的话。

例如,考虑以下数据:

ID 文字
1 这个不错
2 好爱你❤️
3 你让我伤心!

这是我的预期输出:

ID 文字 表情符号
1 这个不错
2 好爱你 ❤️
3 你让我伤心!

到目前为止,我已经尝试了 解决方案,但它对我没有用,因为它没有从原始文本中删除表情符号。

任何有关如何执行此操作的帮助都将非常有用。

谢谢!

以下内容应该适合您的目的:

import pandas as pd
import emoji as emj

EMOJIS = emj.UNICODE_EMOJI["en"]

df = pd.DataFrame(
    data={
        "text": [
            "This is good ",
            "Loving you so much  ❤️",
            "You make me sad! ",
        ]
    }
)

def extract_emoji(df):
    df["emoji"] = ""
    for index, row in df.iterrows():
        for emoji in EMOJIS:
            if emoji in row["text"]:
                row["text"] = row["text"].replace(emoji, "")
                row["emoji"] += emoji

extract_emoji(df)
print(df.to_string())
           text                  emoji
0      This is good               
1      Loving you so much  ️       ❤️
2      You make me sad!           

请注意,extract_emoji 修改了 DataFrame