擅长:python、mysql、java
<p>计算错误的原因是,对于每一行,都要乘以整个<code>df['Fee'] column with df['USD Price'] or df['BTC Price']</code>。基本上基于
在最后一行的费用硬币价值上,您的费用栏将被USD/BTC价格栏乘以</p>
<p>在您的情况下,由于最后一行包含“BTC”硬币,因此它将乘以BTC价格,结果如下:</p>
<pre><code> Fee Coin Fee USD Price BTC Price Fee in USD
0 EUR 3 1.05 24000 72000
1 BTC 0.0005 1.1 27000 13.5
</code></pre>
<p>因此,基本上应该乘以特定的行值,而不是乘以整个列</p>
<pre><code>for i in range(len(df)):
if df.loc[i, "Fee Coin"] == "EUR":
df.loc[i,"Fee in USD"] = df.loc[i,"Fee"]*df.loc[i,"USD Price"]
elif df.loc[i, "Fee Coin"] == "BTC":
df.loc[i,"Fee in USD"] = df.loc[i,"Fee"]*df.loc[i,"BTC Price"]
</code></pre>
<p>最终数据帧:</p>
<pre><code> Fee Coin Fee USD Price BTC Price Fee in USD
0 EUR 3 1.05 24000 3.15
1 BTC 0.0005 1.1 27000 13.50
</code></pre>
<p><strong>p.S.</strong>对于三种或三种以上的货币,您可以在条件If Else块中添加条件</p>