python - 数据框乘以相应的索引值
问题描述
我有一个 df,其中大部分包含零和偶尔的数字,我想将 df 中的每个数字乘以其索引值除以 60。
我试过了;
for a, b in enumerate(df):
df[b][a] = df[b][a] * (df.index[a]/60)
例如,如果 df 是;
Index A B C D
1000 0 0 0 0
2000 0 0 4 0
3000 0 0 0 0
4000 0 2 0 0
5000 0 0 0 0
6000 0 0 4 0
那么输出应该是;
Index A B C D
1000 0 0 0 0
2000 0 0 33.33 0
3000 0 0 0 0
4000 0 133.33 0 0
5000 0 0 0 0
6000 0 0 400 0
我哪里错了?非常感谢任何帮助,谢谢!
更新
我最终使用了;
for c in df_trq.columns[1:]:
df_trq[c] = (df_trq[c] * df_trq.index.values) / 60
这是因为我之前已将索引值设置为其他值。
谢谢
解决方案
你快到了,这样做:
for c in df.columns[1:]:
df[c] = (df[c] * df['Index']) / 60
Index A B C D
0 1000 0.0 0.000000 0.000000 0.0
1 2000 0.0 0.000000 133.333333 0.0
2 3000 0.0 0.000000 0.000000 0.0
3 4000 0.0 133.333333 0.000000 0.0
4 5000 0.0 0.000000 0.000000 0.0
5 6000 0.0 0.000000 400.000000 0.0
推荐阅读
- javascript - Vuejs - 获取数组的位置
- flutter - 未定义命名参数“选项”
- python - 必须根据另一列中的长度值拆分数据框列
- javascript - 我的代码尝试从 mqtt 服务器获取数据到我的网页 Javascript 时出错
- macos - 在 Xcode 11 Beta 7 中使用 @ObservedObject 后,SwiftUI 应用程序无法在 macOS 上启动
- docker - 强制 docker 容器使用主机 MAC 地址
- sql - ROW_NUMBER 达到一定数量后如何让 ROW_NUMBER 重新开始(重置)
- python - 如何使用 execute() 第二个参数创建带有 psycopg2 的数据库?
- javascript - UI5 打开始终位于顶部的新窗口
- typescript - 在另一个类型定义中引用变量的类型