在目前的数据分析领域,常用的分析工具有excel、python等,这几乎已经成为共识,而面对excel和python,谁更适合数据分析,也确实一直被大家讨论。

Excel VS Python

excel不用多做介绍,办公必备的表格工具。关于python,这里简单说一下其背景:
python是一门开源的高级编程语言,拥有强大的社区支持和开发团队。这意味着在各个领域,python都有着丰富的第三方工具库,而且一直不断更新改进。另一方面,python作为胶水语言,有着简洁、易读、流畅、易维护、模块化的优良特性,并且轻松与其它编程语言及软件集成。
在这里插入图片描述
为什么python更适合用于数据分析?有以下几点理由:
1、分析过程可复现
使用python做数据分析,分析代码可以保存为脚本,有利于不断优化代码版本,并且让改进流程更加清晰。
在不改变数据源的情况下,代码输出的结果一致,不会随着时间和人员的变化而出现不同的分析结果,可复现性强。
2、更高的效率和扩展性
确实,excel被大多数人用于数据分析,但是面对大数据集和复杂运算,excel效率太低。
python在I/O、复杂计算、数据管道、自动化处理等方面更加快速,而且处理大数据的效率远高于excel。在性能优化方面,python也有更多操作的空间。
3、集成性
前面说过,python是一门胶水语言,可以与很多编程语言及应用集成。
比方说,python可以连接各种数据库,通过写入sql语句,对数据库数据进行提取、写入、更改的操作。
python还可以连接应用程序API,编写自动化脚本操作应用程序,如excel这样的软件,python有众多的库进行连接,十分高效。
在数据探索的过程中,python提供pandas这样的数据分析工具,帮助你更清晰快速地进行探索分析,并且有大量的可视化库来做可视化展示。
你可以轻松的读存xlsx、csv等数据格式文件,让数据操作灵活高效。
在这里插入图片描述

python实例应用

从数据管理系统里导出一家企业的电机运行CSV数据表,计算电机一个月内的负载率分布情况,可以通过以下代码进行处理:
CSV数据表
在这里插入图片描述

电机负载率分布代码

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import glob
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
sum = 0
sum1 = 0
sum2 = 0
sum3 = 0
sum4 = 0
sum5 = 0
for i in glob.glob('金田*.csv'):
    a = pd.read_csv(i, encoding='gbk') #依次读取所在目录下的CSV文件
    b = np.array(a['负载率']) #读取列名为负载率的一列
    for i in b:
        if i > 0 and i < 9:
            sum1 += 1
        elif i == 9:
            sum2 += 1
        elif i > 9:
            sum3 += 1
        else:
            sum4 += 1
    sum5 += len(b) #负载率的总条数
sum = sum5 - sum4
print('负载率大于0小于9的个数为:',sum1)
print('负载率等于9的个数为:',sum2)
print('负载率大于9的个数为:',sum3)
print('负载率等于0的个数为:',sum4)
print('负载率不为0的总条数:',sum)
print('负载率大于0小于9的比率:{:.2%}'.format(sum1/sum))
print('负载率等于9的比率:{:.2%}'.format(sum2/sum))
print('负载率大于9的比率:{:.2%}'.format(sum3/sum))
c = ['小于9','等于9','大于9']
d = [sum1/sum,sum2/sum,sum3/sum]
plt.plot(c,d,linestyle=":",marker='o',color='r',label='负载趋势1')
plt.title("负载分布")
plt.legend(('负载趋势',))#转为元组的形式加上逗号,就能全部显示了
plt.show()

点击运行,得到如下结果:
在这里插入图片描述
在这里插入图片描述
以上的程序运行结果即为负载率分布值及负载分布的趋势变化图,点击运行按钮后只需几秒钟就能获取结果,比起使用电子表格来处理,python的处理效率要高很多。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐