1
我有一个df与一些二进制列(1,-1)和一个列表与N列名。 我需要创建这样一个新的变量...Python熊猫DF创建基于列列表的新变量
DF [ '测试'] = np.where(((DF [ 'Col1中'] == - 1)&(DF [ 'col2的' ] == - 1)),-1,0)
...但是是动态的。所以规则是:如果列表中的所有列具有相同的值(1,-1),那么采用它。否则值= 0.列表的长度不固定。我可以简单地遍历列表并创建“where-String”,还是有更优雅的方式?
谢谢! è
非常感谢。但我认为你有太多的括号:df ['test'] = np.where((df [list_of_col_names] == -1).all(axis = 1),-1,0) – Ele
@Ele这只是强调你应该通过一个列表而不是一串名字:''df [[col1','col2']]''而不是'df ['col1','col2']''人们评论说,它不是由于后者,我会编辑并使其更清晰 – EdChum
很酷,非常感谢! – Ele