【发布时间】:2019-01-17 19:54:27
【问题描述】:
我的数据框中有一个样本:
Created Insert Time MatchKey In Previous New Type
18593 2016-08-12 2018-02-19 LXGS090393APIN040640 No New Existing
5517 2016-08-12 2018-02-19 LIN380076CI166203726 No New Existing
2470 2018-02-12 2018-02-19 CI164414649APIN160672 No New Existing
13667 2016-08-12 2018-02-19 LIN257400APIN015446 Yes New Existing
10998 2016-08-12 2018-02-19 LXSV225786APIN158860 Yes New Existing
20149 2016-08-12 2018-02-19 LIN350167APIN158284 Yes New Existing
20143 2016-08-12 2018-02-19 LIN350167APIN161348 Yes New Existing
30252 2016-08-12 2018-02-19 LXGS120737APIN153339 Yes New Existing
12583 2016-08-09 2018-02-19 WIN556410APIN157186 Yes New Existing
28591 2018-05-03 2018-02-19 CI195705185APIN009076 No New Created
我想替换 New Type 列中的值,如果条件失败,该函数不执行任何操作:
current['New Type'] = np.where(current['In Previous']=='Yes','In Previous',pass)
但显然它会导致语法错误,因为 np.where() 不处理 pass:
File "<ipython-input-9-7f68cda12cbe>", line 1
current['New Type'] = np.where(current['In Previous']=='Yes','In Previous',pass)
^
SyntaxError: invalid syntax
有什么替代方法可以达到同样的效果?
【问题讨论】:
-
where不是if/else克隆。
标签: python python-3.x pandas numpy