gpt4 book ai didi

python - 重复 pandas 数据帧的特定行

转载 作者:行者123 更新时间:2023-11-30 22:09:06 25 4
gpt4 key购买 nike

我想重复 pandas 数据帧的特定行给定的次数。

例如,这是我的数据框

df= pd.DataFrame({
'id' : ['1','1', '2', '2','2','3'],
'val' : ['2015_11','2016_2','2011_9','2011_11','2012_2','2018_2'],
'data':['a','a','b','b','b','c']
})

print(df)

input datafarme

这里,“Val”列包含字符串格式的日期。它有一个特定的模式“Year_month”。对于相同的“id”,我希望行重复的次数等于给定“val”列值之间的差值。除 val 列之外的所有其他列都应具有前一行的重复值。

输出应该是:

The output should be

最佳答案

使用重新采样:

df.val = pd.to_datetime(df.val, format='%Y_%m')
out = df.set_index('val').groupby('id').data.resample('1m').ffill().reset_index()
out.assign(val=out.val.dt.strftime('%Y_%m'))

   id      val data
0 1 2015_11 a
1 1 2015_12 a
2 1 2016_01 a
3 1 2016_02 a
4 2 2011_09 b
5 2 2011_10 b
6 2 2011_11 b
7 2 2011_12 b
8 2 2012_01 b
9 2 2012_02 b
10 3 2018_02 c

关于python - 重复 pandas 数据帧的特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52014156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com