gpt4 book ai didi

python - 用该组中的第一个非空值填充该组中的所有值

转载 作者:太空宇宙 更新时间:2023-11-04 07:54:15 25 4
gpt4 key购买 nike

以下是我的 pandas 数据框:

cluster Value
1 A
1 NaN
1 NaN
1 NaN
1 NaN
2 NaN
2 NaN
2 B
2 NaN
3 NaN
3 NaN
3 C
3 NaN
4 NaN
4 S
4 NaN
5 NaN
5 A
5 NaN
5 NaN

如果我们查看数据,簇 1 的一行的值为“A”,并且其余所有值为 NA 值。我想为集群 1 的所有行填充“A”值。同样适用于所有集群。基于集群的其中一个值,我想填充集群的剩余行。输出应该是这样的,

cluster Value
1 A
1 A
1 A
1 A
1 A
2 B
2 B
2 B
2 B
3 C
3 C
3 C
3 C
4 S
4 S
4 S
5 A
5 A
5 A
5 A

我是 python 的新手,不知道如何进行。有人可以帮忙吗?

最佳答案

groupby + bfill, 和ffill

df = df.groupby('cluster').bfill().ffill()
df

cluster Value
0 1 A
1 1 A
2 1 A
3 1 A
4 1 A
5 2 B
6 2 B
7 2 B
8 2 B
9 3 B
10 3 B
11 3 C
12 3 C
13 4 S
14 4 S
15 4 S
16 5 A
17 5 A
18 5 A
19 5 A

或者,

groupby + transform with first

df['Value'] = df.groupby('cluster').Value.transform('first')
df

cluster Value
0 1 A
1 1 A
2 1 A
3 1 A
4 1 A
5 2 B
6 2 B
7 2 B
8 2 B
9 3 B
10 3 B
11 3 C
12 3 C
13 4 S
14 4 S
15 4 S
16 5 A
17 5 A
18 5 A
19 5 A

关于python - 用该组中的第一个非空值填充该组中的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50957993/

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