3

我有一个数据集,我想在 python 中填充列和行,如下所示:

数据集:

| P | Q |    
|678|1420|
|678|---|
|609|---|
|583|1260|
|---|1260|
|---|1261|
|---|1262|
|584|1263|
|---|403|
|---|---|

预期结果:

| P | Q |
|678|1420|
|678|1420|
|609|---|
|583|1260|
|583|1260|
|583|1261|
|583|1262|
|584|1263|
|584|403|
|584|403|

我已经使用 fillna() 填充了 P 列,但不能对 Q 列执行相同的操作,因为需要为密钥对填充值。

有人可以帮忙吗?

4

1 回答 1

3

使用您显示的示例,请尝试以下操作。

df['P'] = df['P'].ffill()
df['Q'] = df.groupby('P')['Q'].ffill()

输出如下:

    P        Q
0   678.0   1420.0
1   678.0   1420.0
2   609.0   
3   583.0   1260.0
4   583.0   1260.0
5   583.0   1261.0
6   583.0   1262.0
7   584.0   1263.0
8   584.0   403.0
9   584.0   403.0

填写文件

于 2021-04-19T14:54:05.297 回答