这篇文章主要介绍了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
数据清洗过程:
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如何给某个字段切片并实现累计求和”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/3750423/blog/4898959