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

使用np.random.choice为DataFrame每行加随机元素时全相同的问题

问题根源

你这段代码里的np.random.choice(list)只执行了一次,只会生成一个随机整数。当你把这个值和整个df.message列拼接时,这个单一值会被自动广播到DataFrame的每一行,自然所有行的随机元素都一模一样。

解决办法

要让每行都有不同的随机元素,得生成和DataFrame行数匹配的随机数组,再做拼接。这里给两种常用写法:

方法一:向量化生成(效率高,推荐)

# 先生成和df行数相同的随机数组
random_rows = np.random.choice(list, size=len(df))
# 把数组转成字符串后拼接
df['message'] = df['message'].astype(str) + "rowNumber=" + '"' + random_rows.astype(str) + '"'

方法二:逐行生成(适合小数据集)

如果数据集不大,也可以用apply逐行调用随机函数:

df['message'] = df['message'].astype(str).apply(
    lambda msg: msg + "rowNumber=" + '"' + str(np.random.choice(list)) + '"'
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 16:40:41