基于行长度的列总和

时间:2019-09-30 21:59:05

标签: pandas

我有一个pd df,我想根据行长条件对我的“价格”列求和。

Fox示例,假设:

row_len=5,

如果

df['Year']=row_len,

我想将"Price"列的值从15.6汇总到12.5。

有人可以提供代码帮助吗?

      Year     Price
 0     1        15.6
 1     2        20.4
 2     3        24.8
 3     4        45.1
 4     5        12.5
 6     6        17.4

1 个答案:

答案 0 :(得分:0)

year = 1可能与index = 0不匹配,因此:

1),取决于使用iloc的索引:

row_len=5
df.iloc[0:row_len]['Price'].sum()

输出:

118.4

2)取决于年份的值:

year_value=5
rows_sum=df['Year'].eq(year_value).cumsum().shift().fillna(0).eq(0)
df.loc[rows_sum,'Price'].sum()

输出:

118.4