我有以下代码(已翻译):
m1 = df['stock']>=1
m2 = (df['stock']==0) & (df['date'].notna())
df['deliverytime'] = np.select([m1, m2], ['2-4 days', df['date']], 'unknown')所以这意味着:当库存大于0 (1)时,那么得到2-4天,否则,检查日期,如果库存是例如0,没有日期,那么就会有“未知”。
现在如下所示;供应商还添加了负库存值,例如:-10,-5等。
我想修改"m2",这样它就会显示: stock = 0,stock有"-“符号,并且date不是空的然后do..
做到这一点的最好方法是什么?
谢谢!
-- edit - simple dataframe --
stock,date
2,9-9-2019
-4,9-9-2019发布于 2019-01-14 15:48:09
我添加了两行代码来将负值替换为0,这是一种不同的方法,但它是有效的!
这两行是:
num = df._get_numeric_data()
num[num < 0] = 0感谢您的重复和检查!
发布于 2019-01-11 22:27:55
我认为您需要将==更改为<=,将&更改为|以实现逐位OR:
m2 = (df['stock']<=0) | (df['date'].notna())https://stackoverflow.com/questions/54148417
复制相似问题