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

Python:如何用更简洁的方式为DataFrame多列批量初始化随机整数

Python:如何用更简洁的方式为DataFrame多列批量初始化随机整数

嘿,刚好碰到过类似的场景,给你两个超简洁的Pythonic方案,完美解决你要批量初始化14列随机整数的需求,再也不用复制粘贴十几行重复代码啦!

方法一:循环遍历列名列表(直观易读)

先通过列表推导式生成所有需要的列名,再用一个for循环批量赋值,代码量瞬间减少:

import pandas as pd
import numpy as np

# 先初始化你的DataFrame(如果还没创建的话)
df = pd.DataFrame()

# 生成14个fan列的列名:fan1_rpm 到 fan14_rpm
fan_column_names = [f'fan{i}_rpm' for i in range(1, 15)]

# 循环为每一列赋值随机整数
for col_name in fan_column_names:
    df[col_name] = np.random.randint(5675, 5725, size=30)

这种方式很直观,如果你之后需要对某几列做特殊调整,也很容易修改循环里的逻辑。

方法二:向量化生成(更高效,更Pythonic)

利用numpy的向量化操作,直接生成对应形状的随机整数数组,再一次性传给pandas DataFrame,这是处理批量数据的最优解,尤其是数据量较大时,速度比循环快很多:

import pandas as pd
import numpy as np

# 生成列名列表
fan_column_names = [f'fan{i}_rpm' for i in range(1, 15)]

# 直接生成30行14列的随机整数矩阵,同时指定列名创建DataFrame
df = pd.DataFrame(
    np.random.randint(5675, 5725, size=(30, 14)),
    columns=fan_column_names
)

一行核心代码就搞定所有列的初始化,完全避免了循环,绝对是最符合Python风格的写法。

不管你选哪种方法,之后如果要调整列数(比如从14列改成20列),只要修改range(1, 15)里的第二个参数就行,灵活性拉满!

备注:内容来源于stack exchange,提问作者Jesh Kundem

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 11:53:05