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

Python Pandas如何将列表元素循环重复赋值给DataFrame列

实现循环赋值的两种解决方案

假设你的DataFrame变量名为df,可迭代对象为x = (1,2,3,4,5,6,7,8),可以用以下两种方法实现需求:

方法1:列表推导式(写法简洁,适合小体量数据)

直接通过行索引对x的长度取模定位取值即可:

x_len = len(x)
# 新建列存储循环值,赋值给已有列直接替换左侧列名即可
df["cycle_val"] = [x[i % x_len] for i in range(len(df))]

方法2:Numpy tile 方法(性能更优,适合超大量级数据)

提前生成足够长度的重复数组再截断,处理百万级行数据效率远高于列表推导式:

import numpy as np
x_len = len(x)
total_rows = len(df)
# 计算重复次数,多重复1次避免长度不足
repeat_cnt = total_rows // x_len + 1
df["cycle_val"] = np.tile(x, repeat_cnt)[:total_rows]

两种方法都能满足前8行依次填入1-8,第9行及之后从头循环的要求,按需选择即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:54:10