gpt4 book ai didi

python - 重复 B 列中的值,直到 python 中的 A 列发生变化

转载 作者:行者123 更新时间:2023-12-02 15:15:32 24 4
gpt4 key购买 nike

我是 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

请帮我解决这个问题。谢谢

最佳答案

您可以使用 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

另一个不依赖于 Column A 的解决方案 - replace 0 值为 NaN,使用 ffill 前向填充最后转换为 int:

df['Column B'] = df['Column B'].replace(0,np.nan).ffill().astype(int)
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

关于python - 重复 B 列中的值,直到 python 中的 A 列发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40864398/

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