根据其他列在Pandas DataFrame中创建新列

支链淀粉

我有像这样的数据框:

在此处输入图片说明

现在,我想根据I1,I2和I3的条件添加V列。条件如下:

v = 1 if I1>23 and I2.str.contains('abc')
v = 2 if I3 == 20
v == ...............
...................

一行可以满足多个条件,我想要的是将这样的行相乘并过滤出不满足任何条件的行,例如假设N1满足V = 1,2和3。而N2不满足任何条件,而N3将满足v = 2。我希望最终的数据帧看起来像:

在此处输入图片说明

有人可以帮我吗?谢谢。

马可

如果我正确理解了您的问题,请假设您具有如下数据框:

df = pd.DataFrame({
    "NAME": [ "N1", "N2", "N3" ],
    "I1": [ 1, 4, 4 ],
    "I2": [ 2, 5, 2 ],
    "I3": [ 3, 6, 6 ]
})

即:

>>> df
  NAME  I1  I2  I3
0   N1   1   2   3
1   N2   4   5   6
2   N3   4   2   6

要重现你的榜样,我会假设条件I1 = 1I2 = 2以及I3 = 3

cond1 = df["I1"] == 1
cond2 = df["I2"] == 2
cond3 = df["I3"] == 3

要构建预期的数据框,您可以执行以下操作:

result = pd.concat([
    df[cond1].assign(V=1),
    df[cond2].assign(V=2),
    df[cond3].assign(V=3)
])

结果:

>>> result
  NAME  I1  I2  I3  V
0   N1   1   2   3  1
0   N1   1   2   3  2
2   N3   4   2   6  2
0   N1   1   2   3  3

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫:根据DataFrame中的其他列在DataFrame中创建新列

来自分类Dev

根据其他列中的NA值创建新列

来自分类Dev

根据一列的总和添加新列,并按Pandas中的其他2列分组

来自分类Dev

如何基于Python Pandas中的其他列在DataFrame中创建新列?

来自分类Dev

根据其他多个列的条件创建新的Python DataFrame列

来自分类Dev

根据R中其他列的位置创建新列

来自分类Dev

根据数据框的其他列创建一个新的pandas数据框列

来自分类Dev

根据Pandas DataFrame中其他列的条件创建新列

来自分类Dev

根据pandas数据框中的其他列创建一个聚合列

来自分类Dev

熊猫使用其他列中的值创建新列,并根据列值进行选择

来自分类Dev

Python-根据其他列的条件创建新列

来自分类Dev

根据其他列中的值在python 3(pandas)数据框中创建新列

来自分类Dev

从Pandas数据框中的其他列创建新列

来自分类Dev

根据其他列的条件创建新列

来自分类Dev

熊猫根据其他两列的划分创建新列

来自分类Dev

根据其他列中的匹配填充“ Pandas.DataFrame”中的列

来自分类Dev

根据其他行中的重复项创建新列

来自分类Dev

根据其他列行中的过滤值,在pandas数据框中创建一个新列

来自分类Dev

根据pandas数据框中的其他列创建新列

来自分类Dev

根据其他列创建新列,但要剥离

来自分类Dev

Pandas Dataframe根据其他列的计数添加列

来自分类Dev

根据一列的总和添加新列,并按Pandas中的其他2列分组

来自分类Dev

根据r中的其他列创建新列

来自分类Dev

SQL根据其他两列创建新列

来自分类Dev

根据其他列值创建列

来自分类Dev

pandas:根据其他列中的条件创建具有字符串值的列

来自分类Dev

根据其他列中的值创建新列

来自分类Dev

如何在 Pandas 中创建逻辑以根据其他列中的现有值创建新列?

来自分类Dev

根据涉及其他列的公式创建新列

Related 相关文章

  1. 1

    熊猫:根据DataFrame中的其他列在DataFrame中创建新列

  2. 2

    根据其他列中的NA值创建新列

  3. 3

    根据一列的总和添加新列,并按Pandas中的其他2列分组

  4. 4

    如何基于Python Pandas中的其他列在DataFrame中创建新列?

  5. 5

    根据其他多个列的条件创建新的Python DataFrame列

  6. 6

    根据R中其他列的位置创建新列

  7. 7

    根据数据框的其他列创建一个新的pandas数据框列

  8. 8

    根据Pandas DataFrame中其他列的条件创建新列

  9. 9

    根据pandas数据框中的其他列创建一个聚合列

  10. 10

    熊猫使用其他列中的值创建新列,并根据列值进行选择

  11. 11

    Python-根据其他列的条件创建新列

  12. 12

    根据其他列中的值在python 3(pandas)数据框中创建新列

  13. 13

    从Pandas数据框中的其他列创建新列

  14. 14

    根据其他列的条件创建新列

  15. 15

    熊猫根据其他两列的划分创建新列

  16. 16

    根据其他列中的匹配填充“ Pandas.DataFrame”中的列

  17. 17

    根据其他行中的重复项创建新列

  18. 18

    根据其他列行中的过滤值,在pandas数据框中创建一个新列

  19. 19

    根据pandas数据框中的其他列创建新列

  20. 20

    根据其他列创建新列,但要剥离

  21. 21

    Pandas Dataframe根据其他列的计数添加列

  22. 22

    根据一列的总和添加新列,并按Pandas中的其他2列分组

  23. 23

    根据r中的其他列创建新列

  24. 24

    SQL根据其他两列创建新列

  25. 25

    根据其他列值创建列

  26. 26

    pandas:根据其他列中的条件创建具有字符串值的列

  27. 27

    根据其他列中的值创建新列

  28. 28

    如何在 Pandas 中创建逻辑以根据其他列中的现有值创建新列?

  29. 29

    根据涉及其他列的公式创建新列

热门标签

归档