python - 新的数据框列在一行中查找值并从另一列返回值

标签 python dataframe

我有一个 Python 数据框,需要创建一个新列,该列返回当前行下方和不同列中的行的值。以下是数据框:

 event        event time  
 pass            10.10  
 failed block    10.20
 failed check    10.21  
 reception       10.25
 pass            17.60
 reception       17.65

我需要创建一个名为接收时间的列。 Reception time 将在每次传递后查找第一个接收实例并返回接收的事件时间,如下所示:

 event         event time   reception time  
 pass            10.10          10.25  
 failed block    10.20            NA
 reception       10.25            NA  
 pass            17.60          17.65  
 reception       17.65            NA

通行证和接待处之间可能有 50 条或更多线路。

我是 Python 新手,无法找到解决方案。

最佳答案

您可以使用两个掩码,bfillwhere :

df['reception time'] = (df['event time']
                          .where(df['event'].eq('reception'))
                          .bfill()
                          .where(df['event'].eq('pass'))
                       )

输出:

          event  event time  reception time
0          pass       10.10           10.25
1  failed block       10.20             NaN
2  failed check       10.21             NaN
3     reception       10.25             NaN
4          pass       17.60           17.65
5     reception       17.65             NaN

关于python - 新的数据框列在一行中查找值并从另一列返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69831418/

相关文章:

python - 两个数字并打印从第一个数字到第二个数字的列表

python - 用户警告 : Pandas doesn't allow columns to be created via a new attribute name

python - 如何在新数据框中剪切并粘贴同一列作为下一列?

python - 如何循环遍历字典以在最终数据帧的单独行中获取它们的输出?

python - "UnicodeEncodeError: ' charmap ' codec can' t 编码字符”尝试通过 openpyxl 解析 .xlsx 时

python - 如何用自定义 __len__() 过程替换类 @property 的 len(..) 返回值?

python - 使用Word2Vec后如何找到一组文档中肯定词的位置?

python - 'tensorflow.negative' 是否始终与运算符 "-"相同?

python - Pandas - 如何创建一个新列,该新列从前一行或下一行(如果第一行)的列中获取值

python - 如何获取新列中的所有唯一值