Python数据分析与可视化知识点

Python数据分析依赖的两个对象

1.导入外部数据

读取excel文件数据

excel文件是微软办公软件excel使用的文件格式,用于存储的结构化数据。
Python中读取excel文件的方法: 调用pandas库的read_excel函数。

data=pd.read_excel(r’D:\工作\2.教学\任课材料\Python数据分析与应用\新课件 \data'+r'\meal_order_detail.xlsx’)
#文件路径和名称构成的字符串
读取文本数据(以csv文件为例)

Python中读取CSV格式文件的方法: 调用pandas库的read csv函数。

data = pd.read_csv(r'meal_order_info.csv',#文件路径和名称构成的字符串(我的是在桌面)
                   sep =',',#用于分隔数据的宇符
                   encoding='gbk')        #编码格式
读取数据库数据

Pandas库中提供连接Mysql等数据库的方法,可以在python读取数据库中的结构化数据。

Pandas库中读取MySQL等数据库的方法中可以传入sql语句字符串作为参数,实现sql语句的运行。

import pandas as pd
from sqlalchemy import create_engine
#初始化数据库连接,使用pymysql模块
#MvSQL的用户: root,密码:147369,端口: 3306,数据库: test
engine = create_engine('mysql+pymysql://root:123456@localhost:3306/test')
#查询语句,选出employee表中的所有数据
sql = ''' select * from employee;'''
#read_sql_query的两个参数: sql语句,数据库连接
df = pd.read_sql_query(sql,engine)
# 输出employee表的查询结果
print(df)

2.Series序列对象

利用pandas库从外部读取数据到python中形成的表格叫做DataFrame表格对象。

Series序列对象即DataFrame表格对象中的某一列数据。

Series序列对象简称序列对象,其数据类型是Series。

通过表格对象获取:

df=pd.read_excel(’../数招集/新能源汽车行驶里程表.xlsx')
获取序列对象的方法

从表格对象中提取序列对象:表格对象['列名称']

df['启动时间']

手动生成一个序列对象:pd.Series(列表对象)类生成

通过pd.Series类生成

series=pd.Series(['a','b','c'])
series

运行结果:

Series序列对象的属性

属性含义
values元素(值)
index索引
name名称
dtypes元素类型
size元素个数
ndim维度数
shape数据形状(行列数目)
 通过pd.Series类生成
series = pd.series(["a', "b',"c'])
series


print(series.values) # 值
print(series.index) # 索引
print(series.name) #名称
print(series.dtypes) # 数据类型
print(series.size) # 数据个数

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序列对象常用方法

astype()

转换序列对象中元素的数据类型

value_counts()

用于统计序列中每个元素值出现了多少次
注意:返回值也是一个序列对象

series = pd.Series([1,2, 3,3])
print(series)
print(series.value_counts())

运行结果:

sort_values()

对序列中的数据进行排序
注意:返回的新序列对象对象中索引排序被打乱了

series = pd.Series([1,2,5,3,4])
print(series)
print(series.sort_values ())

rank()

返回序列中数据大小的排名

注意:返回的是一个序列对象,索引和原序列相同

series = pd.Series([1, 100,10])
print(series)
print(series.rank())
print(series.rank(ascending=False))

round()
控制数字型序列的小数点位

series = pd.Series([1/3,1/6,1/8])
print(series)
print(series.round(2))

序列对象.str.方法名()
一系列用于批量处理字符串序列对象中元素的方法
注意:返回序列对象

方法功能
str.contains()判断序列中各元素是否包含某个字符
str.split()根据特定字符分割序列中各字符串
str.replace()批量替换序列中所有元素中的某字符串
str.count()统计序列中各元素中某字符的出现次数

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)

max()/min()/mean()/median()/count()/var()/...
计算数字型序列对象中所有元素的统计量

方法功能
max()求序列元素的最大值
min()求序列元素的最小值
mean()求序列元素的平均值
median()求序列元素的中位数
count()求序列元素的个数
mode()求序列元素的众数
var()求序列元素的方差
quantile()求序列元素的分位数

3.DataFrame表格对象

导入数据库表格或者excel数据时形成的数据对象就是表格对象。

表格对象的类型:DataFrame

表格对象的组成部分

表格对象的主要组成部分有3个:1.数据 (values)2.索引 (index)3.列名称 (columns)

创建表格对象的方法

可以通过pandas库中的DataFrame0类来创建一个表格对象

通过DataFrame0类的参数columns来设置表格对象的列名称

df = pd.DataFrame(
         [[’张三’,’男’],[’李四’,’女’]],
         columns=[’姓名’,’性别’]
)
df

运行结果:

表格对象的属性:

属性含义
values元素
index索引
columns列名
dtypes元素类型
size元素个数
ndim维度数
shape数据形状(行列数目)

表格对象的基本方法
 head(): 返回前5行数据,用于概览
info():查看表格对象行列数、各列的数据类型和非空值数量

describe():对表格对象中的数字型序列进行各类统计量的计算
rename():修改表格对象的列名称
to_excel():将表格对象导出成excel

表格对象的增删查改

表格对象的数据查询

通过序列对象查询数据:
访问单列:表格名称[序列名称][索引]

访问多列: 表格名称[[序列名称1,序列名称2”....]][索引]

loc方法:
调用语法:表格对象loc[n,列名称]

n表示行索引,表示访问第n行

列名称’表示列索引,表示访问相应的列

iloc方法:
调用语法:表格对象.iloc[n,m]

n表示行索引,表示访问第n行
m表示列索引,表示访问第m列

表格对象数据的条件查询

条件查询即查询满足一定条件的数据 (行)
一般有两种方法实现条件查询:

1.表格对象query(查询条件字符串)
2.表格对象.loc[条件序列对象+逻辑判断,列索引]

表格对象索引重置
表格对象的默认索引为从0开始的连续数字索引
当使用条件查询等对部分行数据进行筛选的方法时,会导致新的表格对象的索引不连续
索引不连续时,索引n不再表示第n+1行数据
所以需要把索引重置为从0开始的连续数字索引

也可以以某一列数据作为新的索引
语法格式: 表格对象.set index(列名称)

语法格式: 表格对象.reset index(drop=False,inplace=False)

drop参数: 接收布尔值,表示是否保留原索引,默认保留

表格对象数据的新增
概念:表格对象数据新增一般指新增一列

思路:将一个序列对象赋值给表格对象新的一列

语法: 表格对象['新的列名'] = 某个序列对象
注意:新的列名不能和表格对象中已有的列名重复

表格对象数据的删除
概念:表格对象行或列数据的删除
语法:
表格对象.drop(n,axis=0)
参数n表示行或列的索引
axis默认为0,表示删除行,axis=1时删除列

表格对象数据的修改
思路:先访问,后赋值
语法:
访问某个元素的代码 = 需要赋予的值
注意:赋值需要使用 =,不是==,==是判断符号

总结:Python可视化是一种通过图形和图表呈现数据的强大工具,可以帮助我们更好地理解和分析数据。它利用各种绘图库,如Matplotlib、Seaborn和Plotly,提供丰富的绘图函数和样式,可以轻松创建高质量的静态、动态和交互式图表。

  • 24
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值