Python如何给某个字段切片并实现累计求和
这篇文章主要介绍了Python如何给某个字段切片并实现累计求和的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python如何给某个字段切片并实现累计求和文章都会有所收获,下面我们一起来看看吧。
成都创新互联客户idc服务中心,提供服务器托管雅安、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。
问题:按第一列分组,分别把上面的累计加到下面的分组上,怎么实现?
思路:
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如何给某个字段切片并实现累计求和”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。
文章名称:Python如何给某个字段切片并实现累计求和
标题链接:http://hbruida.cn/article/piccop.html