pandas 基于多个迭代条件或循环在Python中添加列

c0vxltue  于 2023-01-11  发布在  Python
关注(0)|答案(1)|浏览(115)

我想在python中基于迭代条件使用Pandas或Numpy创建一个额外的列(我认为这是实现它的方法)。如果任何值为“False”并且具有相同的IDxx,则额外的列为IN,否则为OUT

| IDxx   | Tru/Fal  |
| ------ | -------- |
| 164    | True     |
| 164    | False    |
| 164    | False    |
| 165    | True     |
| 165    | True     |
| 165    | True     |
| 166    | False    |
| 166    | True     |
| 166    | True     |
| 167    | True     |
| 167    | True     |
| 167    | False    |

我尝试了几个选项,但我的想法用完了。由于所有的IDxx是不同的,我不能让循环工作。只有4个IDxx的例子,但在我的真实的情况下,有数百个。我希望输出返回以下内容
| 识别码xx|真/假|答桉|
| - ------|- ------|- ------|
| 一百六十四|真的|输入|
| 一百六十四|假|输入|
| 一百六十四|假|输入|
| 一百六十五|真的|输出|
| 一百六十五|真的|输出|
| 一百六十五|真的|输出|
| 一百六十六|假|输入|
| 一百六十六|真的|输入|
| 一百六十六|真的|输入|
| 一百六十七|真的|输入|
| 一百六十七|真的|输入|
| 一百六十七|假|输入|

3wabscal

3wabscal1#

按如下方式使用groupbyreplace

idx_gb = (df.groupby('IDxx')['Tru/Fal'].min() == False).to_dict() # key: IDxx, value: IDxx includes False or not
df['Answer'] = df['IDxx'].replace(idx_gb)

相关问题