如何从文本中提取表情符号,然后将它们添加到新列中?
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
。
我想知道如何从文本中提取所有表情符号,然后将它们添加到新列,同时从原始文本中删除它们 - 如果这有意义的话。
例如,考虑以下数据:
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
。