我有另一个场景,用零替换缺少的年份和相应的列。 我的数据框看起来像这样,
Year Churn_Count Churn_Rate Customer_Count
2008 1071.0 0.800149 4114
2012 0.0 0.000000 6
2013 233.0 0.174075 824
2014 101.0 0.075458 410
我需要在2008年到2014年之间填补缺失的一年,
例如,2009,2010,2011年缺少如何用零填充这些年份和相应的列
答案 0 :(得分:3)
使用set_index
+ reindex
+ reset_index
:
df.set_index('Year').reindex(
np.arange(df.Year.min(), df.Year.max() + 1), fill_value=0
).reset_index()
Year Churn_Count Churn_Rate Customer_Count
0 2008 1071.0 0.800149 4114
1 2009 0.0 0.000000 0
2 2010 0.0 0.000000 0
3 2011 0.0 0.000000 0
4 2012 0.0 0.000000 6
5 2013 233.0 0.174075 824
6 2014 101.0 0.075458 410