首页 > 解决方案 > 遍历 Pandas 数据框的列并创建新变量

问题描述

我无法弄清楚如何迭代熊猫数据框中的变量并在每个变量上执行相同的算术函数。

我有一个df包含三个数字变量的数据框x1x2x3。我想通过将每个变量乘以 2 来创建三个新变量。这就是我正在做的事情:

existing = ['x1','x2','x3']
new = ['y1','y2','y3']

for i in existing:
    for j in new:
        df[j] = df[i]*2

上面的代码实际上是在数据框中创建了三个y1y2变量y3。但是y1和的值y2被 的值覆盖,y3并且所有三个变量都具有相同的值,对应于 的值y3。我不确定我错过了什么。

非常感谢任何指导/建议。谢谢。

标签: pythonpandasnested-for-loop

解决方案


您在这里循环了 9 次 - 每列 3 次,每次迭代都会覆盖前一个。

你可能想要类似的东西

for e, n in zip(existing,new):
    df[n] = df[e]*2

推荐阅读