在目标发生时,找到匹配条件的最接近的先前出现,并将数据复制到新列

时间:2018-06-12 22:29:51

标签: pandas

正如标题所暗示的那样,我正试图做一些稍微复杂的事情。这就是我想要实现的目标:

idx    cond   colB   colC   colD   colE   condA   condB   condC   condD
1      a      x      0      1      5      5
2      d      y      0      1      4
3      c      y      0      1      6
4      a      y      0      1      3      3
5      b      y      0      1      8
6      a      x      1      0      7
7      c      y      0      1      2
8      b      y      0      1      5
9      d      y      0      1      1
10     b      x      0      1      4              4      
11     d      y      0      1      9
12     c      y      0      1      2
13     b      x      0      0      7
14     b      y      0      1      1              1      
15     a      y      0      1      4
16     b      x      1      0      8
etc.
  • 目前,condAcondD列为空
  • 我现在想要搜索此数据框中的目标(1中的colC
  • 当出现这样的目标时,我想从相同条件中找到最近的两个先前事件(即cond中具有相同值的行)
    • 其中一个事件需要x中的colB类型,y
    • 类型中的另一个
    • 此外,这些事件必须在1中的colD类型(这就是为什么要忽略第13行)
  • 找到这些行后,colE中的值应复制到特定于条件的新列(例如,如果cond中的值为a,则值为colE转到condA

非常感谢任何帮助。

0 个答案:

没有答案