Pandas 基于行长度求和列值

Pandas 基于行长度求和列值,pandas,Pandas,我有一个pd df,我想根据行长条件对“Price”列求和 例如,假设: row_len=5, 如果 我想将“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 year=1可能与index=

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

例如,假设:

row_len=5,
如果

我想将
“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

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

1)根据索引使用:

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

118.4
118.4
2)根据年份的价值:

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

118.4
118.4

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

1)根据索引使用:

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

118.4
118.4
2)根据年份的价值:

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

118.4
118.4

我想从15.6求和到12.5,即15.6+20.4+24.8+45.1+12.5。我想从15.6求和到12.5,即15.6+20.4+24.8+45.1+12.5。我很乐意帮忙!。你能接受和/或投票给我的答案吗?我很乐意帮忙!。你能接受和/或投票表决我的答案吗?