<p>假设您有以下数据帧:</p>
<pre class="lang-none prettyprint-override"><code> v1 v2 v3 v4
0 1 1 17.70% 18.00%
1 2 2 16.60% 13.00%
2 3 3 10.60% 25.00%
3 4 4 29.10% 18.00%
4 5 5 20.50% 20.50%
5 6 6 1.10% 1.10%
6 7 7 1.10% 1.10%
7 8 8 1.10% 1.10%
8 9 9 2.40% 2.20%
</code></pre>
<p>第一步是“清理”数据-删除<code>%</code>并将其转换为浮点数:</p>
<pre><code>df["v3"] = pd.to_numeric(df["v3"].str.strip("%"))
df["v4"] = pd.to_numeric(df["v4"].str.strip("%"))
</code></pre>
<p>然后可以将列相乘:</p>
<pre><code>df["v2"] = df["v2"] * 0.23
df["v3"] = df["v3"] * 0.43
df["v4"] = df["v4"] * 0.56
print(df)
</code></pre>
<p>结果是:</p>
<pre class="lang-none prettyprint-override"><code> v1 v2 v3 v4
0 1 0.23 7.611 10.080
1 2 0.46 7.138 7.280
2 3 0.69 4.558 14.000
3 4 0.92 12.513 10.080
4 5 1.15 8.815 11.480
5 6 1.38 0.473 0.616
6 7 1.61 0.473 0.616
7 8 1.84 0.473 0.616
8 9 2.07 1.032 1.232
</code></pre>
<p>要将其转换回<code>%</code>格式,请执行以下操作:</p>
<pre><code>df["v3"] = df["v3"].apply("{:.2f}%".format)
df["v4"] = df["v4"].apply("{:.2f}%".format)
print(df)
</code></pre>
<p>印刷品:</p>
<pre class="lang-none prettyprint-override"><code> v1 v2 v3 v4
0 1 0.23 7.61% 10.08%
1 2 0.46 7.14% 7.28%
2 3 0.69 4.56% 14.00%
3 4 0.92 12.51% 10.08%
4 5 1.15 8.81% 11.48%
5 6 1.38 0.47% 0.62%
6 7 1.61 0.47% 0.62%
7 8 1.84 0.47% 0.62%
8 9 2.07 1.03% 1.23%
</code></pre>