我遇到了以下问题:我有一个看起来像这样的 pandas 数据框。
| id_tranc | sum | bid |
|:------- |----:|:----------:|--------:|
| 1|4000|2.3%|
| 1|20000|3.5%|
| 2|100000 |if >=100 000 - 1.6%, if < 100 000 - 100$ |
| 3|30000| if >=100 000 - 1.6%, if < 100 000 - 100$|
| 1|60000|500$|
需要计算“佣金”,具体取决于“总和”和“出价”列。最终数据框应如下所示:
| id_tranc | sum | bid | comission|
|:------- |----:|:----------:|--------:|---:|
| 1|4000|2.3%| 92
| 1|20000|3.5%| 700
| 2|100000 |if >=100 000 - 1.6%, if < 100 000 - 100$ | 1600
| 3|30000| if >=100 000 - 1.6%, if < 100 000 - 100$| 100
| 1|60000|500$| 500
如果使用
df['commission'] = df['sum'] * df['bid']
计算 - 仅获取前 2 条记录的结果。请告诉我如何正确执行此操作。
为了计算第三列的值,另外两列必须包含数字(整数或浮点数)。
第三个数据行中的这个值不是数字,因此您不能与它相乘:
如果 >=100 000 - 1.6%,如果 < 100 000 - 100$
您的其他“出价”值(“2.3%”等)也不是数字。它们的格式应为 0.023 以用于乘法。不确定你是如何正确获得前两行的。