基于另一列值填充Pandas DataFrame空缺
Pandas按条件填充缺失值示例
需求说明
当province列为NaN且该行district列的值为example时,将province的空缺填充为example,其余行保持原样。
原始DataFrame
| province | district |
|---|---|
| Total | example |
| NaN | other |
| Other | NaN |
| NaN | example |
| Result | example |
| NaN | example |
解决方案代码
import pandas as pd import numpy as np # 构造原始数据 df = pd.DataFrame({ 'province': ['Total', np.nan, 'Other', np.nan, 'Result', np.nan], 'district': ['example', 'other', np.nan, 'example', 'example', 'example'] }) # 按指定条件填充缺失值 df.loc[(df['province'].isna()) & (df['district'] == 'example'), 'province'] = 'example'
代码解释
df['province'].isna():筛选出province列值为空的行df['district'] == 'example':筛选出district列值为example的行- 用
&组合两个条件,精准定位需要填充的行,随后将这些行的province列赋值为example
处理后DataFrame
| province | district |
|---|---|
| Total | example |
| NaN | other |
| Other | NaN |
| example | example |
| Result | example |
| example | example |
内容的提问来源于stack exchange,提问作者Carola
相关产品推荐
相关产品推荐

