pandas等价于np.where。
- 论坛
- pandas等价于np.where。
12 浏览
pandas等价于np.where。
np.where
具有矢量化的if/else语义(类似于Apache Spark的when
/otherwise
DataFrame方法)。我知道我可以在pandas.Series
上使用np.where
,但是pandas
通常定义自己的API来代替原始的numpy
函数,这对于pd.Series
/pd.DataFrame
通常更方便。
果然,我找到了pandas.DataFrame.where
。然而,乍一看,它具有完全不同的语义。我无法找到一种使用pandas where
来重写最基本的np.where
示例的方法:
# df是pd.DataFrame # 如何使用df.where来编写这个代码? df['C'] = np.where((df['A']<0) | (df['B']>0), df['A']+df['B'], df['A']/df['B'])
我是否忽略了一些明显的东西?或者pandas的where
是用于完全不同的用例,尽管与np.where
同名?