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

Python入门:向已有DataFrame添加随机变量报错,求排查原因

代码中的错误及修正方案
  • 错误1:不存在nrows()函数
    pandas中没有nrows()这个内置函数,要获取DataFrame的行数,应该使用df.shape[0]或者len(df),同时你写的nrows(df,)里多了一个多余的逗号,属于语法错误。
  • 错误2:括号未闭合
    np.random.randint这一行的括号没有写完,末尾缺少两个闭合括号(一个对应size的括号,一个对应randint函数的括号),会导致Python语法解析失败。
  • 错误3:生成的数组长度不匹配
    即便行数获取正确,你写的+1会让income_5的长度比DataFrame的行数多1,赋值给df['income5']时会因为长度不一致报错——你的DataFrame有10行,生成11个随机数无法和每行对应。

修正后的代码

import pandas as pd
import numpy as np

data=[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
df=pd.DataFrame(data, columns=['age'])

# Add income:
income_5 = np.random.randint(low=0, high=4, size=df.shape[0])  # 也可以用len(df)替代df.shape[0]
df['income5'] = income_5

内容的提问来源于stack exchange,提问作者Stata_user

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 07:25:30