You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将pandas DataFrame的Total列值拆分填充到另外两列的空值位置

pandas空值填充实现方案

你可以通过筛选Male和Female列同时为空的行,将对应行的Total值对半拆分后填充即可,原有数据不会被修改,具体实现步骤如下:


1. 测试数据构造

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'Total': [24, 45, 36, 50],
    'Male': [np.nan, 21, np.nan, np.nan],
    'Female': [np.nan, 24, np.nan, np.nan]
})

2. 核心填充逻辑

# 匹配两列同时为空的行
empty_mask = df['Male'].isna() & df['Female'].isna()

# 对半拆分Total值填充空值
df.loc[empty_mask, 'Male'] = df.loc[empty_mask, 'Total'] / 2
df.loc[empty_mask, 'Female'] = df.loc[empty_mask, 'Total'] / 2

# 可选:若需要保证结果为整数,可添加类型转换
df[['Male', 'Female']] = df[['Male', 'Female']].astype(int)

3. 运行结果

TotalMaleFemale
241212
452124
361818
502525

内容的提问来源于stack exchange,提问作者tress

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:00:02