将条件应用于不同的组

领带_24
       A     B     C     D
0    Red  10.0  11.5  12.0
1    Red  10.5  11.5  12.0
2    Red  11.0  11.5  12.0
3    Red  12.0  11.5  12.0
4  White  10.0  10.5  11.0
5  White  10.5  10.5  11.0
6  White  11.0  10.5  11.0
7  White  12.0  10.5  11.0

我想为每个A 组应用下一个条件

  • 如果所有C values都不同B values(它发生在红色 A 组中,而不是发生在白色 A 组中):将C转换D 值

我的意思是,结果应该是:

       A     B     C     D
0    Red  10.0  12.0  12.0
1    Red  10.5  12.0  12.0
2    Red  11.0  12.0  12.0
3    Red  12.0  12.0  12.0
4  White  10.0  10.5  11.0
5  White  10.5  10.5  11.0
6  White  11.0  10.5  11.0
7  White  12.0  10.5  11.0

我试过了:

df.loc[(df["B"] != df["C"]) & (df["B"] == df["D"]), "C"] = df["D"]
艾伦

您可以使用 groupby,然后根据 B 和 C 之间的比较设置 C。

(
    df.groupby('A')
    .apply(lambda x: x.assign(C=x.D if x.B.ne(x.C).all() else x.C))
    .reset_index(level=0,drop=True)
)
Out[41]: 
       A     B     C     D
0    Red  10.0  12.0  12.0
1    Red  10.5  12.0  12.0
2    Red  11.0  12.0  12.0
3    Red  12.0  12.0  12.0
4  White  10.0  10.5  11.0
5  White  10.5  10.5  11.0
6  White  11.0  10.5  11.0
7  White  12.0  10.5  11.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将多个条件应用于捕获组

来自分类Dev

使用data.table将lm函数应用于不同范围的数据和单独的组

来自分类Dev

将条件应用于python列表

来自分类Dev

将条件 CSS 应用于 Vue

来自分类Dev

将不同的条件格式应用于不同的行

来自分类Dev

将条件条件应用于数据框列

来自分类Dev

将函数应用于向量中的连续组

来自分类Dev

将角度指令应用于一组元素

来自分类Dev

Sed:将替代应用于捕获的组

来自分类Dev

熊猫将功能应用于列和索引组

来自分类Dev

熊猫Groupby将功能应用于组

来自分类Dev

将排名应用于Pandas Groupby中的每个组

来自分类Dev

将操作应用于熊猫中的组

来自分类Dev

将功能应用于数据框中的每个组

来自分类Dev

使用ARM将Azure策略应用于管理组

来自分类Dev

如何正确将填充应用于组框控件?

来自分类Dev

将通用代码应用于jbutton组

来自分类Dev

在将命令应用于stdin中的行组时

来自分类Dev

将函数应用于组以更改数据

来自分类Dev

将函数应用于 dplyr 中的多个组

来自分类Dev

将子分组应用于 R 中的子组

来自分类Dev

将 ':focus' 样式应用于输入组

来自分类Dev

如何将先决条件应用于GroupBy或如何忽略GroupBy中有一个记录的组

来自分类Dev

如何基于条件将属性应用于或不应用于jsx元素

来自分类Dev

设计模式:将行为应用于不同家族的对象

来自分类Dev

将dcast多次应用于不同的变量

来自分类Dev

将foreach循环应用于不同值的组合

来自分类Dev

熊猫:如何将函数应用于不同的列

来自分类Dev

将函数应用于不同的数据帧