python数据处理:分列到行

# 导入需要的包
import pandas as pd 
from datetime import datetime 

# 文件读取方式1:
def Course_duration(df):
    df.columns  = ['round_teacher','course_cnt'] # 修改字段列名
    # df.head()

    # 对round_teacher列进行拆分并转化为长序列
    df1 = df['round_teacher'].str.split('/',expand=True).stack()\
                             .reset_index(level =1,drop = True).rename('course_teacher_split') # 对Series命名

    # 将除了round_teacher的其他列组合成Dataframe

    df2 = df[[x for x in df.columns if x != 'round_teacher']] # if 条件筛选过滤字段

    # 根据索引值,将df2和df1进行匹配

    df_new = df2.join(df1) # 使用join语法,通过两个Series的索引进行拼接 → DataFrame
    # df_new.head()

    data = df_new.pivot_table(values= 'course_cnt',index = 'course_teacher_split', aggfunc='sum')

    # 导出处理后结果到指定文件:
    previous_month = int(datetime.now().strftime('%Y%m'))-1
    data.to_excel(f'C:/Users/DELL/Desktop/统计结果{previous_month}.xlsx')

# 统计结果202204.xlsx 没有该文档也会自动创建

if __name__=='__main__':
    
    # 读入数据
    excelpath = 'C:/Users/DELL/Desktop/AF-打赏数据(1).xlsx'
    df = pd.read_excel(excelpath) 
    
    # 调用函数,导出结果
    Course_duration(df)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值