【问题标题】:Creating a column whose values depend on other columns and the created columns previous values [duplicate]创建其值取决于其他列的列和创建的列以前的值[重复]
【发布时间】:2020-07-04 06:53:07
【问题描述】:

我有一个包含三列名称 A、B、C 的 pandas 数据框,并希望添加具有以下条件的第四列:

注意:prev X = 列 X 的前一个条目

D = IF(A < prev D) and (B > prev D)

THEN A

ELSE prev D

除了使用 for 循环之外,还有其他方法可以使用 pandas 或 numpy 来完成吗?

【问题讨论】:

    标签: python python-3.x pandas numpy


    【解决方案1】:
    import pandas as pd
    import numpy as np
    df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
    df['E'] = np.where((df['A'] < df['D'].shift(1)) & 
                       (df['B'] > df['D'].shift(1)), df['A'], df['D'].shift(1))
    

    显然,这将使第一行始终返回 NaN 的值,而不是 AD 以前的值,因为 df['D'].shift(1) 中的第一个值将是 NaN

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-18
      • 2022-10-13
      • 2020-09-17
      • 2023-03-17
      相关资源
      最近更新 更多