python - Pandas DataFrame 填充列中的缺失值

标签 python pandas dataframe missing-data

我有一个包含以下列的大型 DataFrame:

import pandas as pd 

x = pd.read_csv('age_year.csv')
x.head()

ID  Year    age
22445   1991    
29925   1991    
76165   1991    
223725  1991    16.0
280165  1991    

Year列的值范围为 19912017 .最ID有一个 age每个值Year , 例如:
x.loc[x['ID'] == 280165].to_clipboard(index = False)

ID  Year    age
280165  1991    
280165  1992    
280165  1993    
280165  1994    
280165  1995    16.0
280165  1996    17.0
280165  1997    18.0
280165  1998    19.0
280165  1999    20.0
280165  2000    21.0
280165  2001    
280165  2002    
280165  2003    
280165  2004    25.0
280165  2005    26.0
280165  2006    27.0
280165  2007    
280165  2008    
280165  2010    31.0
280165  2011    32.0
280165  2012    33.0
280165  2013    34.0
280165  2014    35.0
280165  2015    36.0
280165  2016    37.0
280165  2017    38.0
我想填充 age 中的缺失值每个唯一的列 ID基于他们现有的值(value)观。例如,对于 ID上面的280165,我们知道它们是292008 ,假设它们是 312010 (2007 年有 28 个,2003 年有 24 个,依此类推)。
这些缺失的应该怎么填age许多独特的值(value) ID每年?我不确定如何在整个 DataFrame 中以统一的方式执行此操作。本题中作为例子使用的数据可以在here中找到。 .

最佳答案

尝试做:

def get_age(s):
    present = s.age.notna().idxmax()
    diff = s.loc[[present]].eval('age - Year').iat[0]
    s['age'] = diff + s.Year
    return s

df.groupby(['ID']).apply(get_age)

关于python - Pandas DataFrame 填充列中的缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63412782/

相关文章:

python - H2O 变量对于模型中包含的所有离散级别的重要性

python - 如何计算聚类的基尼系数

python - 删除和移动 pandas df 中的值

python - 计算单元格列表中出现的字符串

Python。 Pandas 。计算统计差异分组依据

r - 如何在 R 中将数据更改为二进制并保留行名称列?

python - 如何将从 url 检索到的图像放入图像小部件

python - dfply:变异字符串列:TypeError

python - Pandas DataFrame.groupby() 到具有多列值的字典

python - 列表上正则表达式过滤器后输出中的分隔符