繁体   English   中英

如何使用 dataframe 有条件申请 function

[英]how to use dataframe apply function with conditions

我有一个 dataframe 由两列 tweet 和 lang 组成。 我想根据每一行中的语言提取情绪。 语言在第二栏中精确。 我在英语中使用“TextBlob”,在德语中使用“TextBlobDE”。 我想将情绪 output 添加到另一列“主观性”。 为什么我不能使用这样的东西?:

df["subjectivity"] = df["tweet"].apply(
    lambda tweet: TextBlob(tweet).sentiment.subjectivity
    if df["lang"](tweet) == "en"
    else TextBlobDE(tweet).sentiment.subjectivity
)

我收到这个错误

TypeError: 'Series' object is not callable

我想使用 dataframe 电源,这样我就不会遍历每一行我拥有的数据示例:

tweet,lang
Philadelphia House Cleaning Company Maid Service Direct Launches New Website,en
Boldecker Land fordert mit fünf Jahren Verspätung Geld aus der Kreisschulbaukasse an,de

这应该工作:

df.apply(
    lambda row: TextBlob(row.tweet).sentiment.subjectivity
    if row.lang == "en"
    else TextBlobDE(row.tweet).sentiment.subjectivity,
    axis=1
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM