2024-04-17 22:09:31 发布
网友
我有这样一个熊猫数据帧:
ID PRICE SALES COST 1 10 10 5 2 10 5 3 3 10 5 4 10 5 10 4 2
预期产量: 我想添加一个新列,计算如下: 价格/(销售-成本) (销售-成本)为0时如何处理?我想把它留作空白。你知道吗
ID PRICE SALES COST P/E 1 10 10 5 2 2 10 5 3 5 3 10 5 2 4 10 5 10 4 2 5
谢谢你的建议!你知道吗
我将分两步完成,首先,fillna与0,然后除以:
fillna
0
t = df.fillna(0) s = t.SALES - t.COST df.assign(PE=t.PRICE.div(s).where(s.ne(0)))
ID PRICE SALES COST PE 0 1 10 10.0 5.0 2.0 1 2 10 5.0 3.0 5.0 2 3 10 5.0 NaN 2.0 3 4 10 NaN NaN NaN 4 5 10 4.0 2.0 5.0
未经测试,但另一种方法可能是:
df['gross'] = df['SALES'].fillna(0) - df['COST'].fillna(0)
那么
df.loc[df['gross'] != 0, 'P/E'] = df['Price'] / df['gross']
上面的一行版本可能是:
df.loc[(df['SALES'].fillna(0) - df['COST'].fillna(0)) != 0, 'P/E'] = df['Price'] / df['gross']
我将分两步完成,首先,
fillna
与0
,然后除以:未经测试,但另一种方法可能是:
那么
上面的一行版本可能是:
相关问题 更多 >
编程相关推荐