首页 > 解决方案 > 使用其他行的数据替换 NaN 行

问题描述

我有一个这样的数据集:

import pandas as pd
import numpy as np

df = pd.DataFrame({'Name': ['A', 'B', 'C', 'A', 'B'], 'City': [1, 3, 5, np.nan, np.nan], 'Club': [2, 4, 6, np.nan, np.nan], 'Date': ['x', 'y', 'z', 'n', 'g']})

Name    City    Club     Date
 A       1        2        x
 B       3        4        y
 C       5        6        z
 A      NaN      NaN       n
 B      NaN      NaN       g

如何使用前几行中“A”和“B”的值来替换新行中的 NaN?

预期的:

Name    City    Club     Date
 A       1        2        x
 B       3        4        y
 C       5        6        z
 A       1        2        n
 B       3        4        g

到目前为止我很累df['City'].fillna( method ='ffill', inplace = True),但它只允许我填写缺失值一列。

如果我使用df['City','Club'].fillna( method ='ffill', inplace = True)我得到KeyError: ('City', 'Club').

标签: pythonpandasreplacerows

解决方案


推荐阅读