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

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如何给某个字段切片并实现累计求和”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


文章名称:Python如何给某个字段切片并实现累计求和
标题链接:http://hbruida.cn/article/piccop.html