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

如何使用rvs生成相同值行并追加指定数量到DataFrame末尾

实现方案说明

首先明确:rvs是Scipy生态中用于生成符合指定概率分布的随机样本的方法,你的需求是生成固定值的重复行,完全不符合rvs的设计使用场景,不建议用rvs实现,不仅会额外引入依赖,执行效率也远低于原生的numpy+pandas方案。


最优实现(适合万级以上大批量追加,性能最优)

核心用numpy的repeat向量化生成重复值,再通过concat合并,没有循环开销,性能最高,就算追加10万行也可以快速完成。

import pandas as pd
import numpy as np

# 初始化原有DataFrame
df = pd.DataFrame({'a': [0, 1, 3], 'b': [8, 4, 5]})

# 配置参数:要追加的行值、追加行数
append_values = [2, 3]
append_count = 2

# 生成新增行的DataFrame
add_df = pd.DataFrame(
    np.repeat([append_values], append_count, axis=0),
    columns=df.columns
)

# 合并得到最终结果,ignore_index自动重置行号
result = pd.concat([df, add_df], ignore_index=True)

执行后得到的result就是你需要的目标DataFrame,修改append_count即可灵活调整追加行数。


注意事项

不要使用已经废弃的DataFrame.append()方法,该方法在pandas 2.0+已经被移除,官方推荐使用pd.concat完成合并操作。

内容的提问来源于stack exchange,提问作者djfalsñdf

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 01:24:03