python数据分析

文章介绍了如何使用Python的Matplotlib库进行数据可视化,包括安装步骤、对数图和散点图的绘制,以及如何通过numpy和pandas处理数据并生成图表。此外,强调了Python在数据分析和可视化方面的优势,如简单易学、功能强大,适用于人工智能等领域。
摘要由CSDN通过智能技术生成

一、利用Matplotlib库实现数据可视化
1、Matplotlib库的安装
Windows+R,输入cmd启动CMD命令提示符控制器,如若不行可以在python文件中打开s开头的文件打开后在里面使用cmd,输入指令:
python pip -m install user_matplotlib
如果提示错误可考虑使用国内镜像
python pip install -i https://mirrors.aliyun.com/pypi/simple/ matplotlib
提示安装成功

Successfully installed pip-22.3.1

Matplotlib概念

        Matplotlib 是 Python 中常用的 2D 绘图库,它能轻松地将数据进行可视化,作出精美的图表。Matplotlib 模块很庞大,其中最常用的一个子模块是 pyplot

对数图
所谓对数图,实际上就是使用对数坐标绘制的图形。对于对数刻度来说,其间隔表示的是变量的值在数量级上的变化,这与线性刻度有很大的不同。对数图又分为两种不同的类型,其中一种称为双对数图,它的特点是两个坐标轴都采用对数刻度,对应的matplotlibh函数是matplotlib.pyplot..loglog()。半对数图的一个坐标轴采用线性刻度,另一个坐标轴使用对数刻度,它对应的matplotlib API是semilogx()函数和semilogy()函数,在双对数图上,幂律表现为直线;在半对数图上,直线则代表的是指数律。
   摩尔定律大意为集成电路上晶体管的数量每两年增加一倍。在https://en.wikipedia.org/wiki/Transistor_count#Microprocessors页面有一个数据表,记录了不同年份微处理器上晶体管的数量。我们为这些数据制作一个CSV文件,名为transcount.csv,其中只包含晶体管数量和年份值。

散点图
散点图可以形象展示直角坐标系中两个变量之间的关系,每个数据点的位置实际上就是两个变量的值。泡式图是对散点图的一种扩展。在泡式图中,每个数据点都被一个气泡所包围,它由此得名;而第三个变量的值正好可以用来确定气泡的相对大小。
在https://en.wikipedia.org/wiki/Transistor_count#GPU页面上,有个记录GPU晶体数量的数据表,我们用这些晶体管数量年份数据新建表gpu_transcount.csv。借助matplotlib API提供的scatter()函数绘制散点图。
 

2、利用matplotlib加numpy实现绘制简单的图表

import numpy as np

import matplotlib.pyplot as plt

data = np.arange(0,1.1,0.01)

plt.title('lines')

plt.xlabel('x')

plt.ylabel('y')

plt.xlim((0,1))

plt.ylim((0,1))

plt.plot(data,data**2)

plt.plot(data,data**4)

plt.legend(['y=x^2','y=x^4'])

# plt.savefig()

plt.show()

简单代码解释
1.用import引入matplotlib.pyplot库并简写为plt
2.设定X轴数据与Y轴数据
3.创建fig画布,ax子图区域
4.利用scatter()方法绘制散点图并着色,本例中设置为依照Y值大小渐变绿色
5.打开并设置网格
6.设置图表标题,设置X轴与Y轴标签
7.设置X轴与Y轴坐标数据范围
8.保存图片并展示图表
二、导入xlsx文件中使用pandas导出数据并进行更加复杂的数据可视化

import pandas as pd

#import xlrd

stroke_info = pd.read_excel('D:\python数据分析/healthcare-dataset-stroke.xlsx')

age_abs = pd.read_excel('D:\python数据分析/healthcare-dataset-age_abs.xlsx')

link_outer = pd.merge(stroke_info,age_abs,how='outer',left_on='编号',right_on='编号')

age = link_outer['年龄']

age_nomal = []

for i in age:

    if i > 0.0:

        age_nomal.append(i)

print(age_nomal)

age_nomal1 = [x for x in age_nomal if x==int(x)]

print(age_nomal1)

x = np.linspace(0,4*np.pi)

print(x)

y=np.sin(x)

plt.plot(x,y,label='$sin(x)$')

plt.title('sin(x)')

plt.xlabel('x')

plt.ylabel('y')

plt.show()

plt.rcParams['lines.linestyle']=':'

plt.rcParams['lines.linewidth']=1.5

plt.rcParams['lines.marker']='h'

plt.plot(x,y,label='$sin(x)$')

plt.title('sin(x)')

plt.xlabel('x')

plt.ylabel('y')

plt.show()

三、使用Python进行数据可视化的优势分析
1.简单易上手
Python语法简单的多,代码十分容易被读写,适合刚入门的新手学习。我们在处理数据的时候,一般都希望数据能够转化成可运算的数字形式,这样,不管是没学过编程的人还是学过编程的人都能够看懂这个数据。

2.Python在数据分析和交互、探索性计算以及数据可视化等方面都显得比较活跃
python拥有numpy、matplotlib、scikit-learn、pandas、ipython等工具在科学计算方面十分有优势,尤其是pandas,使用得最为广泛

3.编程能力强大
python有些非常强大的数据分析能力,并且还可以利用Python进行爬虫,写游戏,以及自动化运维,在这些领域中有着很广泛的应用,这些优点就使得一种技术去解决所有的业务服务问题,这就充分的体现的Python有利于各个业务之间的融合。如果使用Python,能够大大的提高数据分析的效率。

4.人工智能
人工智能需要的是即时性,而Python是一种非常简洁的语言,同时有着丰富的数据库以及活跃的社区,这样就能够轻松的提取数据,从而为人工智能做出优质的服务。
 

数据分析初始阶段,通常都要进行可视化处理。数据可视化旨在直观展示信息的分析结果和构思,令某些抽象数据具象化,这些抽象数据包括数据测量单位的性质或数量。本章用的程序库matplotlib是建立在Numpy之上的一个Python图库,它提供了一个面向对象的API和一个过程式类的MATLAB API,他们可以并行使用。本文涉及的主题有:

matplotlib简单绘图
对数图
散点图
图例和注解
三维图
pandas绘图
时滞图
自相关图
Plot.ly
 


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值