根据条件使用python中另一列的值创建新列

穆罕默德

我有一个数据框,想根据条件创建一个新列,在这个新列中,如果满足特定条件,则该值将来自另一列,否则需要为零。原始DataFrame是;

df2 = pd.read_csv('C:\Users\ABC.csv')
df2['Date'] = pd.to_datetime(df2['Date'])
df2['Hour'] = df2.Date.dt.hour
df2['Occupied'] = ''
Date                 Value  Hour    Occupied
2016-02-02 21:00:00  0.6    21  
2016-02-02 22:00:00  0.4    22  
2016-02-02 23:00:00  0.4    23  
2016-02-03 00:00:00  0.3    0   
2016-02-03 01:00:00  0.2    1   
2016-02-03 02:00:00  0.2    2   
2016-02-03 03:00:00  0.1    3   
2016-02-03 04:00:00  0.2    4   
2016-02-03 05:00:00  0.1    5   
2016-02-03 06:00:00  0.4    6

如果df2.Hour大于或等于9,我想与Occupied列中的df2.Value相同。否则,Occupied列中的值将为零。我已经尝试了以下代码,但是它没有按我想要的方式工作(它在不考虑else语句的情况下输出与df2.Value相同的值);

for i in df2['Hour']:
    if i >= 9:
        df2['Occupied'] = df2.Value
    else:
        df2['Occupied'] = 0

知道这有什么问题吗?

埃德·楚姆

使用where您的布尔条件,这将设置所有列值,而不是迭代行方式:

In [120]:
df2['Occupied'] = df2['Value'].where(df2['Hour'] >= 9, 0)
df2

Out[120]:
                 Date  Value  Hour  Occupied
0 2016-02-02 21:00:00    0.6    21       0.6
1 2016-02-02 22:00:00    0.4    22       0.4
2 2016-02-02 23:00:00    0.4    23       0.4
3 2016-02-03 00:00:00    0.3     0       0.0
4 2016-02-03 01:00:00    0.2     1       0.0
5 2016-02-03 02:00:00    0.2     2       0.0
6 2016-02-03 03:00:00    0.1     3       0.0
7 2016-02-03 04:00:00    0.2     4       0.0
8 2016-02-03 05:00:00    0.1     5       0.0
9 2016-02-03 06:00:00    0.4     6       0.0

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据另一列中的值创建新列

来自分类Dev

使用 map() 时出错:根据另一列中的值创建新的 Pandas 列

来自分类Dev

根据另一列中的条件将值插入另一列中的新列中

来自分类Dev

根据另一列的值创建新列

来自分类Dev

根据另一列的值创建新列

来自分类Dev

根据另一列 R 中的条件创建一个新列

来自分类Dev

是否可以根据值在另一列中更改的时间来创建新列?

来自分类Dev

根据列表中的另一列内容创建新的列值

来自分类Dev

根据熊猫中另一列的值创建新列

来自分类Dev

跟进-根据熊猫中另一列的值创建新列

来自分类Dev

根据另一列中的值的最后两位数字创建新列

来自分类Dev

根据r中另一列的观测值创建新列

来自分类Dev

如何根据另一列 SQL 中的值创建具有计数值的新列

来自分类Dev

根据前一列中的值创建新列

来自分类Dev

如何使用dplyr根据另一列的不同值在新列中填充不同的值?

来自分类Dev

根据另一列pandas python的值在python中添加新列

来自分类Dev

如果值在一定范围内,则根据另一列的条件创建新列

来自分类Dev

根据另一列的值根据条件添加具有值的新列

来自分类Dev

根据条件将一列中的值替换为另一列中的值

来自分类Dev

如何迭代另一列中的嵌套字段以根据另一个值创建新列?

来自分类Dev

使用来自另一列的if条件在JMP中创建新列

来自分类Dev

根据另一列中的条件修改一列中的值的快捷方式

来自分类Dev

根据 Pandas 中另一列中相似值的分组创建一个新列

来自分类Dev

根据熊猫中另一列上的值在数据框中创建一个新列

来自分类Dev

如何根据条件将一列中的值设置为另一列

来自分类Dev

根据条件将值分配给另一列中的一列

来自分类Dev

根据R中另一列中的唯一值创建批次的升序值,并批量添加新数据

来自分类Dev

根据另一列的条件值绘制列的值?

来自分类Dev

使用Pandas根据另一列的值创建一列

Related 相关文章

  1. 1

    根据另一列中的值创建新列

  2. 2

    使用 map() 时出错:根据另一列中的值创建新的 Pandas 列

  3. 3

    根据另一列中的条件将值插入另一列中的新列中

  4. 4

    根据另一列的值创建新列

  5. 5

    根据另一列的值创建新列

  6. 6

    根据另一列 R 中的条件创建一个新列

  7. 7

    是否可以根据值在另一列中更改的时间来创建新列?

  8. 8

    根据列表中的另一列内容创建新的列值

  9. 9

    根据熊猫中另一列的值创建新列

  10. 10

    跟进-根据熊猫中另一列的值创建新列

  11. 11

    根据另一列中的值的最后两位数字创建新列

  12. 12

    根据r中另一列的观测值创建新列

  13. 13

    如何根据另一列 SQL 中的值创建具有计数值的新列

  14. 14

    根据前一列中的值创建新列

  15. 15

    如何使用dplyr根据另一列的不同值在新列中填充不同的值?

  16. 16

    根据另一列pandas python的值在python中添加新列

  17. 17

    如果值在一定范围内,则根据另一列的条件创建新列

  18. 18

    根据另一列的值根据条件添加具有值的新列

  19. 19

    根据条件将一列中的值替换为另一列中的值

  20. 20

    如何迭代另一列中的嵌套字段以根据另一个值创建新列?

  21. 21

    使用来自另一列的if条件在JMP中创建新列

  22. 22

    根据另一列中的条件修改一列中的值的快捷方式

  23. 23

    根据 Pandas 中另一列中相似值的分组创建一个新列

  24. 24

    根据熊猫中另一列上的值在数据框中创建一个新列

  25. 25

    如何根据条件将一列中的值设置为另一列

  26. 26

    根据条件将值分配给另一列中的一列

  27. 27

    根据R中另一列中的唯一值创建批次的升序值,并批量添加新数据

  28. 28

    根据另一列的条件值绘制列的值?

  29. 29

    使用Pandas根据另一列的值创建一列

热门标签

归档