我正在根据给定的列和条件创建一个新的虚拟变量。下面是我正在使用的代码。它能工作,但对我想做的事情来说太慢了。有没有一种更快的,也许是矢量化的方法来制作熊猫的假人?具体来说,根据我的例子?在
我在熊猫身上查到了get_nudummies功能,但它的作用似乎与我在这里做的有些不同。我可能是错的,所以如果有人能用这个例子来让get_dummies工作,那也是一个可以接受的答案。在
def flagger(row, criteria, col):
if row[col] <= criteria:
return 1
if row[col] > criteria:
return 0
dstk['dropflag'] = dstk.apply(lambda row: flagger(row, criteria, col), axis=1)
编辑:这里有两个很好的答案。一眼望去,它们的速度一样快(至少是相同的数量级),所以我就接受了一个。如果有人想做一些更认真的分析,我很乐意修改我的答案选择。在
为什么不试试
np.where
。它是按列向量化的操作,比按行应用要快得多。在另一个选择是:
相关问题 更多 >
编程相关推荐