在python中填充空单元格从excel导入数据集

问题描述

我有一个数据集,我想在 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 列做同样的事情,因为需要为键对填充值。

有人可以帮忙吗。

解决方法

对于您展示的样本,请尝试以下操作。

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

ffill documentation