基于另一个[重复]构建一列

Posted

技术标签:

【中文标题】基于另一个[重复]构建一列【英文标题】: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). 【参考方案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 相同。

【讨论】:

以上是关于基于另一个[重复]构建一列的主要内容,如果未能解决你的问题,请参考以下文章

获取基于另一列的条件成立的每一行的最新记录(Hive SQL)

根据一列删除重复项并根据另一表中的数据进行过滤

如果另一列中的值是唯一的,那么如何在SQL中放置一个显示1的列,如果它是重复的则为0?

SQL Server 一列或多列重复数据的查询,删除

需要为 SQL Server 中另一个值重复的记录更新一列 [重复]

删除另一个数据框中的行[重复]