汇总df中的行

时间:2020-08-10 21:19:38

标签: python pandas sum

我有以下示例df:

housing = {'year': [2001, 2002, 2003, 2004, 2005],
        'moved in': [10, 26, 15, 11, 12],
        'moved out': [4, 15, 23, 1, 3]}
df = pd.DataFrame(housing, columns = ['year', 'moved in', 'moved out'])

现在,我想创建一个具有计算值的列,该列将显示给定年份中房屋中的居住人数。在第一行中,必须计算得出结果的进出人数。在下一行中,应采用此结果加上移入的人数并减去移出的人数。结果将是今年仍住在该房屋中的人数。我想遍历整个df。

有解决方案吗?预先谢谢你。

1 个答案:

答案 0 :(得分:0)

基本上,您需要每年净变化的滚动金额。

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
相关问题