基于另一个[重复]构建一列
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?