python数据处理:分列到行

python数据处理:分列到行,第1张

# 导入需要的包
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)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/876190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存