Python 3.x 在数据框中填充上面空行中的文本

Python 3.x 在数据框中填充上面空行中的文本,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,下面是一个使用熊猫的数据帧示例。关于表格格式,我很抱歉。 我想在“测试用例”列中获取文本“RF-543”,并将其填充到上面的两个空行中。 同样,对于“testcase”列中的文本“RT-483”,我希望将其填充到上面的三个空行中。 我有超过900行的数据,其中有不同的空行,将填充下一个非空行。如有任何建议,我们将不胜感激 请求# 测试用例 745 AB-003 348 AA-006 932 335 675 RF-543 348 988 444 124 RT-483 试着这样做: df.loc[d

下面是一个使用熊猫的数据帧示例。关于表格格式,我很抱歉。 我想在“测试用例”列中获取文本“RF-543”,并将其填充到上面的两个空行中。 同样,对于“testcase”列中的文本“RT-483”,我希望将其填充到上面的三个空行中。 我有超过900行的数据,其中有不同的空行,将填充下一个非空行。如有任何建议,我们将不胜感激

请求# 测试用例 745 AB-003 348 AA-006 932 335 675 RF-543 348 988 444 124 RT-483
试着这样做:

df.loc[df["Test Case"] == '', "Test Case"] = np.nan
df.bfill()
输出

    Req# Test Case
0    745    AB-003
1    348    AA-006
2    932    RF-543
3    335    RF-543
4    675    RF-543
5    348    RT-483
6    988    RT-483
7    444    RT-483
8    124    RT-483

如果是以下情况:

创建数据帧测试 使用[fillna]方法 如果字段为空:

>>> df = pd.DataFrame({"A": ["apple", "", "", "banana", "", "grape"]})

>>> df
        A
0   apple
1
2
3  banana
4
5   grape

>>> df = df.apply(lambda x: x["A"] if x["A"] != "" else np.nan, axis=1)

>>> df
0     apple
1       NaN
2       NaN
3    banana
4       NaN
5     grape
dtype: object

然后,使用
fillna()

df.replace('',np.nan).bfill()
谢谢你,保罗。你的代码行对我有用。
>>> df["A"].fillna(method='bfill', inplace=True)

>>> df
0     apple
1    banana
2    banana
3    banana
4     grape
5     grape
Name: A, dtype: object
>>> df = pd.DataFrame({"A": ["apple", "", "", "banana", "", "grape"]})

>>> df
        A
0   apple
1
2
3  banana
4
5   grape

>>> df = df.apply(lambda x: x["A"] if x["A"] != "" else np.nan, axis=1)

>>> df
0     apple
1       NaN
2       NaN
3    banana
4       NaN
5     grape
dtype: object