python - 使用前缀列名将每列乘以它们的相对因子
问题描述
我有一个矩阵
id |v1_m1 v2_m1 v3_m1 f_m1 v1_m2 v2_m2 v3_m2 f_m2|
1 | 0 .5 .5 4 0.1 0.3 0.6 4 |
2 | 0.3 .3 .4 8 0.2 0.4 0.4 7 |
我想要的是将 m1 中的每个 v 乘以 f_m1 列,并将所有带有后缀“_m2”的 v 列乘以 ghe f_m2 列。
我期望的输出是这样的:
id |v1_m1 v2_m1 v3_m1 v1_m2 v2_m2 v3_m2 |
1 | 0 2 2 0.4 1.2 2.4 |
2 | 2.4 2.4 3.2 1.4 2.8 2.8 |
解决方案
for m in range (1,maxm):
for i in range (1,maxv):
df["v{}_m{}".format(i,m)] = df["v{}_m{}".format(i,m)]*df["f_m{}".format(m)]
for m in range (1,maxm):
df.drop(columns=["f_m{}".format(m)])
推荐阅读
- python - 如何按字母顺序打印姓名?
- java - HashMap的keyset迭代
- c# - 如何使用 AspNetCore.Identity 和 MongoDb 让所有用户异步?
- function - 重载对 Kotlin 中特定实例的方法的引用
- python - 从 PostgreSQL 中检索数据时更改 Django 模型中的日期格式显示在表单中
- ssl - Jenkins 无法连接到 Internet(SSL 问题)
- 2d - 2D Unity - 平台游戏 - 卡在 Animator 中的秋季过渡动画
- angular - 角度文件上传多部分块大小
- python - FileNotFoundError: [WinError 3] 系统找不到指定的路径:'MP_Data\\hello'
- elasticsearch - 带有 IP 地址的 Elasticsearch 完成字段