【问题标题】:Build a column based on another [duplicate]基于另一个[重复]构建一列
【发布时间】:2021-03-15 20:52:30
【问题描述】:

我正在尝试构建一个基于另一个列的列。新列应反映符合特定条件的值,并在值不符合条件的地方填上 0。

例如,名为银行余额的列将具有负值和正值;新列 overdraft 将具有相应行的负值和余额大于 0 的 0。

 Bal  Ovr
 21   0
-34 -34
 45   0
-32 -32

最终的结果应该是这样的。

【问题讨论】:

  • df['Ovr'] = df['Bal'].clip(upper=0).

标签: python pandas


【解决方案1】:
df["over"] = df.Bal.apply(lambda x: 0 if x>0 else x)

其他方法来丰富您的编码技能。但是,这样简单的任务不需要它。

【讨论】:

    【解决方案2】:

    假设您的数据框名为df,您可以使用np.where 并执行以下操作:

    import numpy as np
    df['Ovr'] = np.where(df['Bal'] <0,'df['Bal'],0)
    

    这将创建一个名为Ovr 的列,当Bal 为+ve 时为0,当Bal 为-ve 时与Bal 相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-17
      • 2022-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 2015-12-06
      相关资源
      最近更新 更多