我有一个数据框
df = pd.DataFrame([["X","day_2"],["Y","day_4"],["Z","day_3"]],columns=["id","day"])
id day
X day_2
Y day_4
Z day_3
我想增加每个id的行数,直到从day列中提到的下一天开始到达day_5。例如,对于X id day_2,从day_3到day_5有3行,对于Y id,从day_3到day_5只有1行,对于Z,从day_4到day_5有2行,因为day_3在day列中。
- 预期产出:**
一个二个一个一个
怎么做呢?
4条答案
按热度按时间64jmpszr1#
第一个月
你可以改变
n
dxpyg8gm2#
您可以
extract
位数,计算缺失值的数量以达到5,repeat
行数,并以groupby.cumcount
递增值:reset_index(drop=True)
。*输出:
如果还想包括初始行,请使用变量。注意:
输出:
kfgdxczn3#
直接的方法是
得到
中间值为
hjzp0vay4#
这是我的解决方案,定义旧的df
创建一个新的 Dataframe 来添加行,这比在两个 Dataframe 之间插入 Dataframe 要好
添加缺失行的方法
实际工作。