【发布时间】:2021-03-20 23:01:17
【问题描述】:
我有如下数据框:
data = pd.DataFrame({"col1" : ["a", "b", "c"],
"binary" : [0, 1, 0]})
我想在这个名为"new" 的DataFrame 中创建并添加新列,如果在"binary" 列中为1,那么我想在我创建的列"new" 中获取来自"col1" 的数据,但如果在"binary" 列中为 0,那么我想要np.NaN。以下是我根据上面的描述和 DatFrame 真正需要的结果。
【问题讨论】:
-
很多方法可以正确地做到这一点,
import numpy as np;df['new'] = np.where(df['binary'].eq(1), df['col1'],np.nan)