hai*_*men 1 python nan dataframe 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
Run Code Online (Sandbox Code Playgroud)
如果我们查看数据,集群 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
Run Code Online (Sandbox Code Playgroud)
我是 python 的新手,不知道如何继续。有人可以帮忙吗?
groupby+ bfill,和ffilldf = 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
Run Code Online (Sandbox Code Playgroud)
或者,
groupby+transform与firstdf['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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1003 次 |
| 最近记录: |