温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python如何给某个字段切片并实现累计求和

发布时间:2022-03-21 16:59:31 来源:亿速云 阅读:587 作者:iii 栏目:大数据

这篇文章主要介绍了Python如何给某个字段切片并实现累计求和的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python如何给某个字段切片并实现累计求和文章都会有所收获,下面我们一起来看看吧。

问题:按第一列分组,分别把上面的累计加到下面的分组上,怎么实现?

思路:
1.先pivot透视,scale扩展到多列
2.cumsum()累加
3.melt逆透视,还原原本形状

加载数据源:

import pandas as pd
df = pd.read_table(r"D:\Jupyter\data\df_test.txt")
df

Python如何给某个字段切片并实现累计求和

数据清洗过程:

years = ['1980以前', '1980-1989年',  '1990-1999年', '2000-2009年', '2010-2020年']
result = (
    df.pivot(index="period", columns="scale", values="count")
    .loc[years]
    .cumsum()
    .reset_index()
    .melt(id_vars='period', value_name='count')
)
result.dropna(inplace=True)
result["count"] = result["count"].astype("int16")
result.period = result.period.astype("category")
result.period = result.period.cat.reorder_categories(years)
result.sort_values(by=["period", "scale"], inplace=True)
result

Python如何给某个字段切片并实现累计求和

关于“Python如何给某个字段切片并实现累计求和”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python如何给某个字段切片并实现累计求和”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI