摘要:本文将介绍如何使用Python中的表格对象(如Pandas和Matplotlib)实现统计分析的可视化。我们将通过数据清洗、数据统计、可视化以及图表分析等方面来探讨表格对象在统计分析中的应用。
一、引言
在数据时代,数据分析与可视化已经成为各个领域不可或缺的工具。Python作为一种强大的编程语言,提供了丰富的数据分析和可视化工具。其中,表格对象(如Pandas和Matplotlib)是Python中常用的数据分析和可视化工具。本文将介绍如何使用Python中的表格对象实现统计分析的可视化。
二、表格对象概述
表格对象是指将数据以表格的形式存储和操作的数据结构。在Python中,常用的表格对象库包括Pandas和NumPy等。这些库提供了丰富的函数和方法,可以帮助我们方便地进行数据处理、分析和可视化。
思维导图:
我们下面通过一个图片来了解python数据分析依赖的两个对象
三、导入外部数据
读取excel文件数据
·excel文件是微软办公软件excel使用的文件格式,用于存储的结构化数据
·python中读取excel文件的办法:调用pandas库的read_excel函数
读取csv文件数据
·csv文件是一种都好分割的文本文件,可以用excel和记事本打开
·python中读取csv格式文件的方法:调用pandas库的read_csv函数
df=pd.read_csv(r' ../电影评分.csv',
sep=',
encoding='gbk',engine=' python'
df
读取数据库
· Pandas库中提供连接Mysql等数据库的方法,可以在python读取数据库中的结构化数据。
·Pandas库中读取MySQL等数据库的方法中可以传入sql语句字符串作为参数, 实现sql语句的运行。
import pandas as pd
from sqlalchemy import create_engine
#初始化数据库连接,使用pymysql模块
#MySQL的用户:root,密码:147369,端口:3306,数据库:test
engine =create_engine('mysql+pymysql://root:123456@localhost:3306/test')
#查询employee表中的所有数据
sql='''select*from employee;'''
#read_sql_query(sql,engine)
df=pd.read_sql_query(sql,engine)
#输出
print(df)
四、Series序列对象
概念
Series序列对象即DataFrame表格对象中的某-列数据
Series序列对象简称序列对象,其数据类型是Series
获取序列对象的方法
从表格对象中提取序列对象:表格对象['列名称']
手动生成一个序列对象: pd.Series(列表对象)类生成
series序列对象的属性
#通过pd.Series类生成
series=pd.Series(['a','b','c'])
series
Series序列对象中局部数据的访问方法
1.通过序列单个索引访问:序列对象[索引]
2.通过序列索引的切片访问:序列对象[索引1:索引2]
3.通过判断条件访问:
序列对象[序列对象逻辑判断符号阈值]
series = pd.Series(['a','b','c'])
print(series)
print('-'*20)
print(series[0])
print('-'*20)
print(series[0:2])
print(-'*20)
print(series[series!='a'])
Series序列对象的运算
序列对象和数字或者另一个序列之间可以进行基本的运算
series = pd. Series([1,2, 3])
print('序列对象: \n', series)
print('加法运算: \n',series+10)
print('乘法运算: \n',series*10)
print('两个序列对象的运算: \n',series*6+series*4)
print('字符串序列加法运算: \n',series.astype(str)+'天')
print('判断运算: \n',series==2)
series序列对象常用的方法
1.astype() #转换序列对象中的元素的数据类型
df['订单编号'].astype(float)
2.value_counts() #用于统计序列中每个元素值出现了多少次
注意:返回值也是一个序列对象
series = pd. Series([1,2,3,3])
print (series)
print (series. value_ counts ())
3.sort values() #对序列中的数据进行排序
注意:返回的新序列对象对象中索弓|排序被打乱了
series = pd. Series([1,2,5,3, 4])
print (series)
print (series. sort_ values())
4.rank() #返回序列中数据大小的排名
注意:返回的是一一个序列对象,索引和原序列相同
series = pd. Series([1,100,10])
print (series)
print (series. rank())
print (series. rank (ascending=False))
5.round() #控制数字型序列的小数点位
series = pd.Series([1/3,1/6,1/8])
print (series)
print (series.round(2))
6.序列对象.str.方法名() #一系列用于批量处理字符串序列对象中元素的方法
注意:返回序列对象
series=pd.Series(['hello world','good job'])
print(原序列: \n',series)
print('是否包含字符o: \n',series.str.contains('o'))
print('根据空格分割字符: \n'series.str.split(''))
print('替换字符中的空格: \n'series.str.replace('','-'))
print('统计e字符出现的次数: \n'series.str.count('e'))
7.agg() #对序列对象的元素进行加工的方法
注意:返回序列对象
语法:
1.序列对象.agg(lambda x:关于x的返回值)
2.序列对象.agg(定义好的加工函数)
series=pd.Series(['15岁','20岁','30岁'])
print('原序列: \n'series)
series2 = series.agg(lambda x: int (x. split(岁')[0]))
print('提取数字序列: \n',series2)
series3 = series2.agg(lambda x:'成年' if x>18 else'未成年')
print('加工为是否成年序列: \n',series3)
8.max()/min(/mean()/median()/count()/var()... #计算数字型序列对象中所有元素的统计量
series=pd.Series([1,2,3,4])
print('最大值:',series.max())
print('最小值:',series.min())
print('平均值:',series mean())
print('中位数:',series.median())
print('元素个数:',series.count ()
print('方差:',series.var())
五、DataFrame表格对象
概念:
导入数据库表格或者excel数据时形成的数据对象就是表格对象
表格对象的类型是:DataFrame
表格对象的组成部分:
1.数据(values) 2.索引(index) 3.列名称(columns)
创建表格对象的方法:
可以通过pandas库中的DataFrame()类来创建一个表格对象
通过DataFrame()类的参数columns来设置表格对象的列名称
df=pd.DataFrame (
[['张三','男'],['李四','女']],
columns=['姓名','性别']
)
df
表格对象属性
表格对象的基本方法
head():返回前5行数据,用于概览
info():查看表格对象行列数、各列的数据类型和非空值数量
describe():对表格对象中的数字型序列进行各类统计量的计算
rename():修改表格对象的列名称
to_ excel():将表格对象导出成excel
示例:
假设现在有电影名称列表:list1=['长津湖','战狼2','你好,李焕英','哪吒之魔童降世','流浪地球'],总票房列表:list2=[5775749383,5688740597,5413299787,5035020808,4687712649]
试构造一个电影票房数据表格对象。

总结
在本文中,我们深入学习了Python中的表格对象,实现统计分析的可视化。通过几个板块来了解表格对象是怎样操作的,好了,本章就分享到这里