python - 熊猫在条件下乘以列值
问题描述
希望能得到帮助:我在列(pandas DF)中有干净的浮点值,如果这个值<1(错误的解析数据),我需要将它与另一列(对应轴)的价格值相乘。
Price Comission
10 000 0.1
50 000 5 000
75 000 0.5
我这样尝试过:(没有成功)
for i in range (df.shape [0]):
if (df['Comission'].iloc(i)<1)&(df['Comission'].iloc(i)>0):
df['Comission'].iloc(i)= df['Comission'].iloc(i)*df['Price'].iloc(i)
有没有办法在 Pandas 中更轻松地进行选择并在选择下进行乘法运算?
解决方案
这是一种方法:
df = pd.DataFrame({"price": [10, 50, 75], "commision": [0.1, 5.0, 0.5]})
print(df)
==>
price commision
0 10 0.1
1 50 5.0
2 75 0.5
df.loc[df.commision < 1, "commision"] = df.commision * df.price
print(df)
==>
price commision
0 10 1.0
1 50 5.0
2 75 37.5
推荐阅读
- javascript - React - 如何返回上一个分页页面?
- django - 如何在 django 中将选项显示为复选框?
- scala - 为什么谓词不返回布尔值?
- java - 如果 NVIDIA 控制面板设置了计算优化,cuCtxCreate 会失败
- python - 程序计算 0 和 1 的个数
- angular - Angular:具有 NgRx 效果的 JWT 更新
- reactjs - ReactJs 组件渲染失败
- python - MNIST 数据集的 Keras 精度不变
- go - redis-cli 如何对在 HLL 或位图上执行 GET 时返回的字符串值进行编码?
- android - 当用户以小写形式输入值时,firebase 搜索查询不起作用,那么它不会返回大写相同的数据