• 技术文章 >后端开发 >Python教程

    python数据分析之pandas搞定Excel表格

    长期闲置长期闲置2022-05-13 20:14:35转载528
    本篇文章给大家带来了关于python的相关知识,其中主要介绍了关于数据分析基础的一些问题,包括了读取其他文件、数据透视表等相关内容,下面一起来看一下,希望对大家有帮助。

    推荐学习:python视频教程

    (一)读取其他文件

    接下来我们读取三类文件csvtsvtxt文件,值得注意的是读取这三类文件时使用的都是同一个方法,即pd.read_csv(file),在读取时为excel表时需注意分隔符,使用参数sep=''来分隔。接下来我们一起看看在excel和pandas种如何操作的吧!

    1.excel读取其他文件

    从excel中导入外部数据
    在这里插入图片描述

    1.1 导入csv文件

    导入csv文件时,分隔符选择逗号即可。

    在这里插入图片描述

    1.2 导入tsv文件

    导入tsv文件,分隔符选择tab键

    在这里插入图片描述

    1.3 导入txt文本文件

    导入txt文件时,注意文本里是以什么符号分隔的,自定义分隔符。

    在这里插入图片描述

    2.pandas读取其他文件

    在pandas中为无论是读取csv文件还是tsv文件亦或者txt文件,都是用read_csv()的方法读取,另外加上sep()参数来分隔。

    2.1 读取csv文件

    import pandas as pd
    
    # 导入csv文件
    test1 = pd.read_csv('./excel/test12.csv',index_col="ID")
    df1 = pd.DataFrame(test1)
    
    print(df1)

    2.2 读取tsv文件

    tab键用\t来表示

    import pandas as pd
    
    # 导入tsv文件
    test3 = pd.read_csv("./excel/test11.tsv",sep='\t')
    df3 = pd.DataFrame(test3)
    
    print(df3)

    2.3 读取txt文件

    import pandas as pd
    
    # 导入txt文件
    test2 = pd.read_csv("./excel/test13.txt",sep='|')
    df2 = pd.DataFrame(test2)
    
    print(df2)

    结果:
    在这里插入图片描述

    (二)数据透视表

    在excel中存在多种数据,且分为很多类型,这时使用数据透视表就会很方便也很直观的为我们分析出各种我们想要的数据了。
    实例:将下列数据绘制成一个透视表,并绘制出按总类分每年的销售额!

    1.在excel中制作透视表

    需要按照年份来分,则我们需要将date列拆分,把年份拆分出来。随后在数据栏下选择数据透视表,选择区域即可。
    在这里插入图片描述
    随后将各部分数据拖动到各区域即可。
    在这里插入图片描述

    结果:
    在这里插入图片描述

    这样就在excel中完成了数据透视表的制作。

    那么在pandas中要怎么实现这一效果呢?

    2.在pandas中绘制透视表

    绘制透视表的函数为:df.pivot_lable(index,columns,values),最后将数据求和即可。

    import pandas as pd
    import numpy as np
    
    pd.options.display.max_columns =999
    test = pd.read_excel('./excel/test14.xlsx')
    df = pd.DataFrame(test)
    # 将年份取出并新建一个列名为年份的列
    df['year'] = pd.DatetimeIndex(df['Date']).year
    # 绘制透视表
    table = df.pivot_table(index='总类',columns='year',values='销售额',aggfunc=np.sum)
    df1 = pd.DataFrame(table)
    df1['总计'] = df1[[2011,2012,2013,2014]].sum(axis=1)
    
    
    print(df1)

    结果:
    在这里插入图片描述

    除此之外还可以利用groupby函数来绘制数据表。这里将总类和年份分组求销售总额和销售数量。

    import pandas as pd
    import numpy as np
    
    pd.options.display.max_columns =999
    test = pd.read_excel('./excel/test14.xlsx')
    df = pd.DataFrame(test)
    # 将年份取出并新建一个列名为年份的列
    df['year'] = pd.DatetimeIndex(df['Date']).year
    
    # groupby方法
    group = df.groupby(['总类','year'])
    
    s= group['销售额'].sum()
    c = group['ID'].count()
    
    table = pd.DataFrame({'sum':s,'total':c})
    
    print(table)

    结果:
    在这里插入图片描述

    推荐学习:python视频教程

    以上就是python数据分析之pandas搞定Excel表格的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:python
    上一篇:python列表详解(总结分享) 下一篇:Python模块化整理和第三方模块的安装(总结分享)
    千万级数据并发解决方案

    相关文章推荐

    • Python归纳总结之json标准库• Python数据类型详解之字符串、数字• 详细介绍Python之Pandas知识点• 归纳总结Python标准库• 一起来分析Python怎么操作XML文件
    1/1

    PHP中文网