gpt4 book ai didi

python - 使用 Pandas 用连续值和以上行填充行

转载 作者:行者123 更新时间:2023-12-04 11:46:41 24 4
gpt4 key购买 nike

我有一个这样的数据框:

df

col1 col2
1 A
3 B
6 A
10 C

我想以这样的方式从 df 上方创建一个数据框,如果 col1 值不连续,它将使用下一个 col1 值创建另一行,而 col2 值将是上述值。

我正在寻找的数据框应该是
df
col1 col2
1 A
2 A
3 B
4 B
5 B
6 A
7 A
8 A
9 A
10 C

我可以使用一个简单的 for 循环来做到这一点,但是有没有什么 pythonic 方法可以使用 Pandas 最有效地做到这一点?

最佳答案

这是使用 set_index() 的一种方法和 reindex ffill :

df.set_index('col1').reindex(range(df.col1.min(),df.col1.max()+1)).ffill().reset_index()

#df.set_index('col1').reindex(range(df.col1.min(),df.col1.max()+1),method='ffill')\
#.reset_index()
   col1 col2
0 1 A
1 2 A
2 3 B
3 4 B
4 5 B
5 6 A
6 7 A
7 8 A
8 9 A
9 10 C

关于python - 使用 Pandas 用连续值和以上行填充行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57992965/

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