【发布时间】:2018-09-24 19:20:01
【问题描述】:
我有以下问题:
例如,给定一个数据框,
import pandas as pd
df = pd.DataFrame({'col1':[1,0,0,1],'col2':['B','B','A','A'],'col3':[1,2,3,4]})
在其他一些工具中,我可以轻松地根据条件创建一个新列,比如
如果 df['col1'] == '0' & ~df['col2'].isnull() else 'col1' 则使用 'col2' 创建新列 'col3'
这个其他工具的工作速度非常快。目前在python中没有找到对应的表达式。
1.) 我尝试了 np.where 迭代行但不允许在结果中与确切行对应的动态值
2.) 我尝试过 .apply(lambda ... ),它似乎很慢。
如果您能找到解决此问题的优雅方法,我会很高兴。谢谢。
【问题讨论】: