Python Dataframe:根据条件为列分配值?

我有一个 df ,其中name包含status存在和不存在作为值。


            name     status

    0      anthony   present

    1      anthony   absent

    2      mason     present

    3      donny     present

    4      donny     absent

    5      donny     absent

    6      paul      present

    7      paul      present

True or False我正在尝试为每个名字添加状态 - 。


如果其中之一name的absent状态将为 False


预期输出:


            name     output

    0      anthony   False

    1      mason     True

    2      donny     False

    3      paul      True


墨色风雨
浏览 37回答 2
2回答

吃鸡游戏

您可以比较status然后'present'通过以下方式获得最小值name:# or `all()` instead of `min()`df['status'].eq('present').groupby(df['name']).min()输出:nameanthony    Falsedonny      Falsemason       Truepaul        TrueName: status, dtype: bool

波斯汪

另一种方法是按名称分组并查找名称是否作为唯一状态出现。df.groupby('name')['status'].apply(lambda x: (x=='present').all())    name    anthony    False    donny      False    mason       True    paul        True
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python