根据另一列中的一列查找行值并进行计算

岩石

我有一个数据框:

import pandas as pd
data = pd.DataFrame({'start':['2020-08-01','2020-08-02','2020-08-03','2020-08-04','2020-08-05','2020-08-06','2020-08-07','2020-08-08'],
                     'end':['2020-08-03','2020-08-03','2020-08-06','2020-08-06','2020-08-06','2020-08-08','2020-08-08','2020-08-08'],
                     'score':[74, 81, 38, 49, 79, 17, 53, 69]})

我需要计算日期与其对应日期score之间差异为:startend

         start         end  score  result
0   2020-08-01  2020-08-03     74      36  # 74-38 as score on 08/03 is 38
1   2020-08-02  2020-08-03     81      43  # 81-38
2   2020-08-03  2020-08-06     38      21  # 38-17 as score on 08/06 is 17
3   2020-08-04  2020-08-06     49      32  # 49-17
4   2020-08-05  2020-08-06     79      62  # 79-17
5   2020-08-06  2020-08-08     17     -52  # 17-69 as score on 08/08 is 69
6   2020-08-07  2020-08-08     53     -16  # 53-69
7   2020-08-08  2020-08-08     69       0  # 69-69

有什么好pandas方法吗?非常感谢!

耶斯列尔

如果所有start值都是唯一的,请使用映射值减去:

data['result'] = data['score'].sub(data['end'].map(data.set_index('start')['score']))
print (data)
        start         end  score  result
0  2020-08-01  2020-08-03     74      36
1  2020-08-02  2020-08-03     81      43
2  2020-08-03  2020-08-06     38      21
3  2020-08-04  2020-08-06     49      32
4  2020-08-05  2020-08-06     79      62
5  2020-08-06  2020-08-08     17     -52
6  2020-08-07  2020-08-08     53     -16
7  2020-08-08  2020-08-08     69       0

详细说明

print (data['end'].map(data.set_index('start')['score']))
0    38
1    38
2    17
3    17
4    17
5    69
6    69
7    69
Name: end, dtype: int64

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PostgreSQL根据一列的值触发,以更改或更新每一行中另一列的值。

来自分类Dev

T-SQL:创建一列,该列根据先前的值进行查找和计算

来自分类Dev

根据另一列中的值对pandas数据框中的列进行归一化

来自分类Dev

如何根据一列中的值对数据进行分类,并计算另一列中的出现次数(不包括R中的重复项)?

来自分类Dev

根据另一列的过去值来标记一列中的行

来自分类Dev

根据另一列中另一行的值计算总和

来自分类Dev

根据另一列查找通用列值

来自分类Dev

如何根据行中的特定值和熊猫中的另一列对行进行分组?

来自分类Dev

根据另一列的计算创建一列

来自分类Dev

熊猫:根据另一列中的值计算每一行的jaccard相似度

来自分类Dev

如何根据另一列中的值填充另一列中的值?

来自分类Dev

根据一列的相同值进行分组和排序,然后对这些组中的另一列进行排序

来自分类Dev

根据另一列更改一列的值

来自分类Dev

在另一列中查找一列的值

来自分类Dev

根据一列进行分组,并在另一列中获取总和值

来自分类Dev

根据另一列的上一行计算一列

来自分类Dev

根据数据框中另一列的值汇总和计算一列的唯一值

来自分类Dev

根据数据框中另一列的唯一值查找一列的所有组合

来自分类Dev

根据另一列中的重复值过滤一列中的唯一值

来自分类Dev

如何使用PLSQL根据一列中的重复值和另一列中的连续值进行过滤?

来自分类Dev

根据另一列中的值对pandas数据框中的列进行归一化

来自分类Dev

根据与另一列不同的值对值进行计数

来自分类Dev

尝试通过在另一列中查找正确的行来从一列中计算值

来自分类Dev

根据另一列中的唯一值查找一列中的重复项

来自分类Dev

如何根据另一列中的值计算行的加权总和

来自分类Dev

如何根据另一列计算值的数量?

来自分类Dev

根据r中的ID从另一列中的一列中查找值

来自分类Dev

根据另一列的值添加一列

来自分类Dev

根据另一列在 R 中查找特定列

Related 相关文章

  1. 1

    PostgreSQL根据一列的值触发,以更改或更新每一行中另一列的值。

  2. 2

    T-SQL:创建一列,该列根据先前的值进行查找和计算

  3. 3

    根据另一列中的值对pandas数据框中的列进行归一化

  4. 4

    如何根据一列中的值对数据进行分类,并计算另一列中的出现次数(不包括R中的重复项)?

  5. 5

    根据另一列的过去值来标记一列中的行

  6. 6

    根据另一列中另一行的值计算总和

  7. 7

    根据另一列查找通用列值

  8. 8

    如何根据行中的特定值和熊猫中的另一列对行进行分组?

  9. 9

    根据另一列的计算创建一列

  10. 10

    熊猫:根据另一列中的值计算每一行的jaccard相似度

  11. 11

    如何根据另一列中的值填充另一列中的值?

  12. 12

    根据一列的相同值进行分组和排序,然后对这些组中的另一列进行排序

  13. 13

    根据另一列更改一列的值

  14. 14

    在另一列中查找一列的值

  15. 15

    根据一列进行分组,并在另一列中获取总和值

  16. 16

    根据另一列的上一行计算一列

  17. 17

    根据数据框中另一列的值汇总和计算一列的唯一值

  18. 18

    根据数据框中另一列的唯一值查找一列的所有组合

  19. 19

    根据另一列中的重复值过滤一列中的唯一值

  20. 20

    如何使用PLSQL根据一列中的重复值和另一列中的连续值进行过滤?

  21. 21

    根据另一列中的值对pandas数据框中的列进行归一化

  22. 22

    根据与另一列不同的值对值进行计数

  23. 23

    尝试通过在另一列中查找正确的行来从一列中计算值

  24. 24

    根据另一列中的唯一值查找一列中的重复项

  25. 25

    如何根据另一列中的值计算行的加权总和

  26. 26

    如何根据另一列计算值的数量?

  27. 27

    根据r中的ID从另一列中的一列中查找值

  28. 28

    根据另一列的值添加一列

  29. 29

    根据另一列在 R 中查找特定列

热门标签

归档