Pandas dataframe multiple and sum row wise

nx7onnlm  于 2023-04-10  发布在  其他
关注(0)|答案(2)|浏览(121)

我有一个如下格式的pandas df

Market   ID     Col1      Col2     Col3   Price   Sum_Price

USA      100     0.49      0.5      0.5    100     149
EU       200     0.25      0.25     0.75   100     125

基本上Sum_Price等于(Col1*Price+Col2*Price+Col*Price)我已经尝试了df.iloc[:,2:4]*df.iloc[:,5],但它填充了一些额外的列,我不确定的行为...谢谢

xwbd5t1u

xwbd5t1u1#

df['Sum_Price'] = df[['Col1', 'Col2', 'Col3']].multiply(df['Price'], axis=0).sum(axis=1)

首先使用计算Sum_Price的行中的multiply()函数将Col1、Col2和Col3中的值乘以Price列中的值。然后使用带有axis=1sum()函数将所有行的结果相加。最后,DataFrame接收新的Sum_Price列。

v9tzhpje

v9tzhpje2#

试试这个:

df["total"] = df[["col1", "col2", "col3"]].sum() * df["price"]

相关问题