我是python的新手并且有一个查询。我需要在B列中重复的值,直到A列发生变化。
这是示例数据:
A B
18 1
18 0
18 0
24 2
24 0
24 0
24 0
10 3
10 0
10 0
我想要的输出
Column A Column B
18 1
18 1
18 1
18 1
24 2
24 2
10 3
10 3
10 3
10 3
请通过这个帮助我。谢谢
答案 0 :(得分:5)
如果需要重复每个组的第一个值,您可以SCALAR SCALAR SCALAR SCALAR SCALAR
ND 9418 ND 9419 ND 9420 ND 9421 ND 9422
ST 0 ST 1 ST 2 ST 3 ST 4
TS 45000.34 TS 45000.35 TS 45000.36 TS 45000.37 TS 45000.38
0.0000 0.0001 0.0002 0.0003 0.0004
100.02 100.03 100.04 100.05 100.06
使用transform
:
first
另一个不依赖于df['Column B'] = df.groupby('Column A')['Column B'].transform('first')
print (df)
Column A Column B
0 18 1
1 18 1
2 18 1
3 18 1
4 24 2
5 24 2
6 10 3
7 10 3
8 10 3
9 10 3
的{{1}} - replace
Column A
值的解决方案,使用ffill
的前向填充,最后一次转换为{{1} }:
0