python - 遍历 Pandas 数据框的列并创建新变量
问题描述
我无法弄清楚如何迭代熊猫数据框中的变量并在每个变量上执行相同的算术函数。
我有一个df
包含三个数字变量的数据框x1
,x2
和x3
。我想通过将每个变量乘以 2 来创建三个新变量。这就是我正在做的事情:
existing = ['x1','x2','x3']
new = ['y1','y2','y3']
for i in existing:
for j in new:
df[j] = df[i]*2
上面的代码实际上是在数据框中创建了三个y1
新y2
变量y3
。但是y1
和的值y2
被 的值覆盖,y3
并且所有三个变量都具有相同的值,对应于 的值y3
。我不确定我错过了什么。
非常感谢任何指导/建议。谢谢。
解决方案
您在这里循环了 9 次 - 每列 3 次,每次迭代都会覆盖前一个。
你可能想要类似的东西
for e, n in zip(existing,new):
df[n] = df[e]*2
推荐阅读
- python - Python 中的 List-Then-Eliminate 实现
- r - 基于乘数复制行
- kubernetes - Kubernetes 'nginx 入口' 无法找到服务
- java - 尝试通过 HashSet 的构造函数传递 Comparator
- php - PHP 版本已弃用
- knockout.js - 使用油门时不会触发淘汰赛可观察到
- python - (virtual env)(global env) 为什么在我激活它时会发生这种情况,而不仅仅是 (virtual env)?
- twitter-bootstrap - 为什么卡内的 div 不会在 Bootstrap 中达到全高?
- node.js - 无法建立 websocket 连接 - React js + Node Express + Nginx
- sql-server - 在不使用 SSMS 的情况下在 SQL Server 上恢复 .bak 数据库文件?[数据夹]