月度流失空值填充0并计算累计流失

原数据用透视表取数,示例如下:

没有数据的单元格为空,如用cumsum计算累计,则空值列不显示数据;

import pandas as pd
import numpy as np
import datetime
today=str(datetime.date.today())
import os
import glob

filepath1='/Users/kangyongqing/Documents/kangyq/202209/OKR预占/2024到期不续费/统一周期待处理文件/'
filepath2='/Users/kangyongqing/Documents/kangyq/202209/OKR预占/2024到期不续费/统一周期处理后累计值文件/'
# file1='17学生首课尾课及课时余额明细附版本158460_2024_12_04.csv'

lists=os.listdir(filepath1)
print(lists)

keyword='流失用户'
files=[]
for file in glob.glob(os.path.join(filepath1,'*')):
    if os.path.isfile(file) and keyword in file:
        files.append(file)


for file in files:
    if '拓展P1' in file:
        print('liebiao:',file)
        nf=pd.read_excel(file)
        nf=nf.set_index(['firmonth', '新用户数']).copy()
        i=57
        j=0
        while i>=4:
            nf.iloc[j,:i]=nf.iloc[j,:i].fillna(0)
            i-=1
            j+=1
        nf.to_excel(filepath2+'ceshi1.xlsx')
        nf.cumsum(axis=1).to_excel(filepath2+'ceshi2.xlsx')

经过以上处理,可以把空值填充为0,但又不会过多的填充,结果如下:

即可使用cumsum()进行累加处理,得出累计留存率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值