补充DataFrame中缺失的Date-Sex配对的数值字段值为0
补全DataFrame缺失记录的解决方案
初始DataFrame
先构造你的初始DataFrame:
import pandas as pd from pandas import Timestamp data = [ {'Date': Timestamp('2023-01-01 00:00:00'),'Sex':'M', 'Value':11, 'Target':5, 'A':48}, {'Date': Timestamp('2023-01-01 00:00:00'),'Sex':'F', 'Value':25, 'Target':7, 'A':20}, {'Date': Timestamp('2023-01-10 00:00:00'),'Sex':'M', 'Value':45, 'Target':6, 'A':20}, {'Date': Timestamp('2023-01-10 00:00:00'),'Sex':'F', 'Value':5, 'Target':2, 'A':16}, {'Date': Timestamp('2023-01-20 00:00:00'),'Sex':'M', 'Value':10, 'Target':8, 'A':30}, {'Date': Timestamp('2023-01-20 00:00:00'),'Sex':'M', 'Value':1, 'Target':18, 'A':3} ] df = pd.DataFrame(data)
初始数据内容:
Date Sex Value Target A 0 2023-01-01 M 11 5 48 1 2023-01-01 F 25 7 20 2 2023-01-10 M 45 6 20 3 2023-01-10 F 5 2 16 4 2023-01-20 M 10 8 30 5 2023-01-20 M 1 18 3
补全缺失记录的操作
构造缺失的行数据,再合并到原DataFrame中:
# 生成缺失的目标记录 missing_row = pd.DataFrame({ 'Date': [Timestamp('2023-01-20 00:00:00')], 'Sex': ['F'], 'Value': [0], 'Target': [0], 'A': [0] }) # 合并数据并重置索引 df_complete = pd.concat([df, missing_row], ignore_index=True)
最终结果
执行后得到的完整DataFrame:
Date Sex Value Target A 0 2023-01-01 M 11 5 48 1 2023-01-01 F 25 7 20 2 2023-01-10 M 45 6 20 3 2023-01-10 F 5 2 16 4 2023-01-20 M 10 8 30 5 2023-01-20 M 1 18 3 6 2023-01-20 F 0 0 0
内容的提问来源于stack exchange,提问作者Parvez Alam
相关产品推荐
相关产品推荐

