gpt4 book ai didi

python - 用 Pandas 中的固定值乘以多列

转载 作者:行者123 更新时间:2023-12-03 20:41:03 26 4
gpt4 key购买 nike

我有一个如下所示的 Pandas df。
我如何才能通过固定值多列 v2、v3 和 v4? (我试图将这些列分别乘以 0.23、0.43 和 0.56。

v1. v2. v3.     v4
1 1 17.70% 18.00%
2 2 16.60% 13.00%
3 3 10.60% 25.00%
4 4 29.10% 18.00%
5 5 20.50% 20.50%
6 6 1.10% 1.10%
7 7 1.10% 1.10%
8 8 1.10% 1.10%
9 9 2.40% 2.20%
我以为我可以做这样的事情
df = df[(df['v2'] * .23), (df['v3'] * .43), , (df['v4'] * .56)]

最佳答案

假设你有这个数据框:

   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%
第一步是“清理”您的数据 - 删除 %并将其转换为浮点数:
df["v3"] = pd.to_numeric(df["v3"].str.strip("%"))
df["v4"] = pd.to_numeric(df["v4"].str.strip("%"))
然后你可以乘以你的列:
df["v2"] = df["v2"] * 0.23
df["v3"] = df["v3"] * 0.43
df["v4"] = df["v4"] * 0.56

print(df)
结果:
   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
将其转换回 % -形式:
df["v3"] = df["v3"].apply("{:.2f}%".format)
df["v4"] = df["v4"].apply("{:.2f}%".format)
print(df)
打印:
   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%

关于python - 用 Pandas 中的固定值乘以多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67169750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com