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

按权重扩展调查数据集(按年份和ID)以开展回归分析

按Weight字段扩展调查数据集的实现方法

嘿,我来帮你搞定这个数据集扩展的需求!你想要根据weight字段的数值,把每个id-year对应的行重复相应次数,用来做回归分析对吧?这方案其实很简单,用pandas几行代码就能搞定。

首先,先把你提供的原始数据整理成标准的pandas DataFrame(我帮你还原了正确的结构):

import pandas as pd

# 构造原始数据集
data = {
    'id': [1, 1, 2, 2, 3, 1],
    'year': [2011, 2012, 2011, 2012, 2011, 2012],
    'weight': [2, 1, 1, 2, 3, 1],
    'X': [54, 57, 8, 10, 10, 9],
    'Y': ['Medium', 'Medium', 'Micro', 'Micro', 'Micro', 'Micro']
}
df = pd.DataFrame(data)

接下来就是核心的扩展操作,一行代码就能实现按weight重复行:

# 根据weight字段的值重复对应行
expanded_df = df.loc[df.index.repeat(df['weight'])]

# 可选步骤:重置索引,避免出现重复的索引值
expanded_df = expanded_df.reset_index(drop=True)

原理说明

  • df.index.repeat(df['weight'])会生成一个新的索引列表,其中每个原始行的索引会被重复对应weight数值的次数。比如第一行weight是2,它的索引就会被重复2次。
  • df.loc[...]根据这个新的索引列表提取行,自然就实现了按权重扩展数据集的效果。

运行完代码后,你得到的expanded_df就完全符合你期望的格式了——每个行都按照weight的数值重复了相应次数,完美适配后续的回归分析需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:34:48