You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于DataFrame首列生成7个2倍倍数的新列?

解决方法

直接用pandas的iloc定位第一列,循环生成新列即可,给你具体代码:

首先准备示例DataFrame(替换成你自己的即可):

import pandas as pd

# 示例DataFrame,第一列列名任意
df = pd.DataFrame({
    '原始第一列': [1,2,3,4,5],
    '其他列1': [10,20,30,40,50],
    '其他列2': [100,200,300,400,500]
})

执行以下代码生成7个新列(乘以2的1到7倍,即2、4、6...14):

# 提取第一列,不管列名是什么都能用
first_column = df.iloc[:, 0]

# 循环生成7个新列
for num in range(1, 8):
    multiplier = 2 * num
    # 自定义新列名称,可按需修改
    df[f'乘{multiplier}倍列'] = first_column * multiplier

如果需要的是乘以2的幂次(2、4、8、16...128,即2¹到2⁷),把循环里的multiplier改成2 ** num即可:

for num in range(1, 8):
    multiplier = 2 ** num
    df[f'乘{multiplier}倍列'] = first_column * multiplier

常见出错原因

  • 只计算了数值但没赋值回DataFrame的新列,等于白计算
  • 提取第一列时用错方法,比如只取了列名而非列数据(比如用df.columns[0]代替df.iloc[:,0])
  • 循环范围写错,导致生成的列数不是7个

运行完代码后,直接打印df就能看到新增的7列数据。

内容的提问来源于stack exchange,提问作者Attahir Umar Mainika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 16:02:16