我有一个看起来像这样的熊猫数据框:
Tweets negative_keywords positive_keywords neutral_keywords
0 Şanlıurfa'da DAEŞ ile [] [] [neutral]
1 Hacettepe Üni. Araştırması [] [] [neutral]
2 Kadına şiddetin suç olduğu [suç] [] []
3 Suriyeli'lerin fal bakabilme [] [] [neutral]
4 Hastaneye git Suriyeli. PTT ye [Plaja] [kardeşi] []
通过查看这三个类别的值,我希望有一个类似于以下内容的第四类:
Tweets negative_keywords positive_keywords keyword_category keyword_category
0 Şanlıurfa'da DAEŞ ile [] [] [neutral] neutral
1 Hacettepe Üni. Araştırması [] [] [neutral] neutral
2 Kadına şiddetin suç olduğu [suç] [] [] negative
3 Suriyeli'lerin fal bakabilme [] [] [neutral] neutral
4 Hastaneye git Suriyeli. PTT ye [] [kardeşi] [] positive
因此,如果在positive_keywords类别中有一个关键字,我们应该在关键字类别中写[positive]。如果在negative_keywords类别中有一个关键字,我们应该在关键字类别中写[negative]。我也不希望这些词在它们的前面有方括号[]。
答案 0 :(得分:1)
我要编写一个函数来评估df中的单行,然后使用pandas.DataFrame.apply
函数将其应用于每行,同时还要指定新列。
def classify(item):
if len(item["negative_keywords"]) != "[]":
return "negative"
if len(item["positive_keywords"]) != "[]":
return "positive"
if len(item["neutral_keywords"]) != "[]":
return "neutral"
return 0 # what if none are true? or if multiple are true?
df["keyword_category"] = df.apply(classify, axis=1)