虚拟商品自动发货网站搭建教程,做一个个人网站的步骤,苏宁电器网站建设特点分析,义乌风度网络pandas学习
一、 pandas基础
1. 什么是pandas#xff1f;
一个开源的python类库#xff1a;用于数据分析、数据处理、数据可视化
高性能容易使用的数据结构容易使用的数据分析工具
很方便和其他类库一起使用#xff1a; numpy#xff1a;用于数学计算 scikit-learn
一个开源的python类库用于数据分析、数据处理、数据可视化
高性能容易使用的数据结构容易使用的数据分析工具
很方便和其他类库一起使用 numpy用于数学计算 scikit-learn用于机器学习
2. pandas 的安装
方法一
pip3 install pandas方法二
下载使用Python类库集成安装包anaconda link https://www.anaconda.com
当今最流行的python数据分析发行版
已经安装了数据分析需要的几乎所有的类库03. pandas读取数据
pandas 需要先读取表格类型的数据然后进行分析
数据类型说明pandas读取方式csv ,tsv,txt用逗号tab分割的纯文本文件pd.read_csvexcel微软xls或者xlsxpd.read_excelmysql关系型数据库表pd.read_sql 读取csv文件 import os
import pandas as pdfpath E:\MyProject\DataAnalysis\my_pandas\Datas\cpu_temp.csv
# 读取csv文件的所有数据
datas pd.read_csv(fpath)
# 查看前几行的数据 默认前5行
da datas.head()
print(da)
# 查看数据的形状返回行和列
ds datas.shape
print(ds)
# 查看列名列表
df datas.columns
print(df)
# 查看索引列
dg datas.index
print(dg)
# 查看每列的数据类型
dh datas.dtypes
print(dh)4. Pandas数据结构
import pandas as pd
import numpy as npDataFrame二维数据、整个表格、多行多列 创建DataFrame的方法 根据多个字典序列创建dataframe data {age:[23,45,32,56,32,54,22],id: [1,2,3,4,5,6,7]year: [1991,1992,1993,1994,1995,1996,1997]}
d1 pandas.DataFrame(data)df.columns 和df.index Series: 一维数据、一行或一列 创建Series的三种方法 仅使用数据列表即可产生最简单的Series sl pd.Series([1,a,5.2,7])创建一个具有标签索引的Series s2 pd.Series([1,a,5.2,7], index[d,e,f,g])使用python字典创建Series sdata {a:3500,b4566, c12556,d12435}
s3 pd.Series(sdata)5. Pandas 数据查询
Pandas查询数据的几种方法 df.loc 根据行列的标签值查询 使用单个标签值label查询数据 使用值列表批量查询 使用数值区间进行范围查询 使用条件表达式查询 df.loc[df[age]30,:]df.loc[(df[a]30) (df[d]15) df[f]ssa (df[s]1), :]调用函数查询 df.loc[lambda df : (df[a]30) (df[d]15),:]df.iloc 根据行列的数字位置查询 df.where df.query
注意.loc既能查询又能覆盖写入强烈推荐
6. Pandas新增数据列 直接赋值 修改列数值 将第b列的含有符合的值替换掉
df.loc[:,b] df[b].str.replace(,).astype(int32) 计算差值新增一列插值 df[:,chazhi] df[a] - df[b]df.apply index则axis0 columns则axis1def get_temp_type(x):if x[CPU0_Temp]60:return 高温elif x[CPU0_Temp] 50:return 低温return 常温
df.loc[:,temp_type] df.apply(get_temp_type,axis1)
df[temp_type].value_counts()df.assign 可以是lambda函数也可以是自定义函数
df.assign(cpu0_huashi lambda x :x[CPU0_Temp]*9/5 32,cpu1_huashi lambda x: x[CPU1_Temp]*9/5 32)按条件选择分组分别赋值 先创建空列这里第一张创建新列的方式
df[cup_type]
df.loc[df[CPU1_Temp]- df[CPU0_Temp]10,cpu_type] 温差大
df.loc[df[CPU1_Temp]- df[CPU0_Temp]10,cpu_type] 温差正常7. Pandas的数据统计函数 汇总类统计 提取所有数字列统计结果
df.describe()唯一去重和按值计算 唯一性去重 一般不用于数值列而是枚举分类列 df[b].unique()按值计算 df[‘a’].value_counts() 相关系数和协方差 用途超级厉害 两只股票是不是同涨同跌程度多大正相关还是负相关 产品销量的波动跟哪些因素正相关、负相关程度多大 对于两个变量X、Y 协方差衡量同向反向程度如果协方差为正说明X、Y同向变化协方差越大说明同向程度越高如果协方差为负说明X、Y反向变化协方差越小说明反向程度越高 df.cov()相关系数衡量相似程度当他们的相关系数为1时说明两个变量变化时的正向相似度最大当相关系数为-1时说明两个变量变化的反向相似度最大 df.corr()df[a].corr(df[b]) 查看a和b的相关系数
df[a].corr(df[b]-df[c])8. Pandas缺失值处理
pandas使用函数处理缺失值 isnull和notnull检测是否为空值可用于df和series dropna丢弃、删除缺失值 【下面是参数介绍】 axis删除还是列{0 or ‘index’,1 or ‘columns’},default 0how: 如果等于any则任何值为空都删除如果等于all则所有值都为空才删除inplace如果为True则修改当前df否则返回新的df fillna填充空值 【下面是参数介绍】 value用于填充的值可以是单个值或者字典key为列名value是值method等于ffill使用前一个不为空的值填充for word fill等于bfill使用后一个不为空的值填充back word fillaxis按行还是列填充{0 or ‘index’,1 or ‘columns’}inplace如果为True则修改当前df否则返回新的df