【发布时间】:2015-05-07 22:32:10
【问题描述】:
如果我有一个带有 x 列的数据框 df 并希望在伪代码中使用 x 的值创建列 y:
if df['x'] < -2 then df['y'] = 1
else if df['x'] > 2 then df['y'] = -1
else df['y'] = 0
我将如何实现这一目标?我认为np.where 是最好的方法,但不确定如何正确编码。
【问题讨论】:
-
注意,在 pandas 16.0 中将有一种额外的方法来执行此操作(现在到期?),类似于 dplyr mutate:pandas-docs.github.io/pandas-docs-travis/…
-
查看this answer 使用
np.where有两个选择,np. select有更多选择。
标签: python pandas dataframe numpy vectorization