如何解决汇总df中的行
我有以下示例df:
housing = {'year': [2001,2002,2003,2004,2005],'moved in': [10,26,15,11,12],'moved out': [4,23,1,3]}
df = pd.DataFrame(housing,columns = ['year','moved in','moved out'])
现在,我想创建一个具有计算值的列,该列将显示给定年份中房屋中的居住人数。在第一行中,必须计算得出结果的进出人数。在下一行中,应采用此结果加上移入的人数并减去移出的人数。结果将是今年仍住在该房屋中的人数。我想遍历整个df。
有解决方案吗?预先谢谢你。
解决方法
基本上,您需要每年净变化的滚动金额。
df['current'] = (df['moved in'] - df['moved out']).rolling(window=len(df),min_periods=1).sum()
print(df)
year moved in moved out current
0 2001 10 4 6.0
1 2002 26 15 17.0
2 2003 15 23 9.0
3 2004 11 1 19.0
4 2005 12 3 28.0
使用net change
列:
df['net change'] = df['moved in'] - df['moved out']
df['current'] = df['net change'].rolling(window=len(df),min_periods=1).sum()
print(df)
year moved in moved out net change current
0 2001 10 4 6 6.0
1 2002 26 15 11 17.0
2 2003 15 23 -8 9.0
3 2004 11 1 10 19.0
4 2005 12 3 9 28.0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。