python pandas 讲解ppt_Python数据分析之Pandas入门
一、概述
之前我们讲了Python数据分析中基础的工具包Numpy,今天我们来讲讲Pandas,由于Pandas的内容也比较多,本文主要还是讲解一些入门的基本知识。
二、详细说明
同样的我们来引入使用的库
import pandas as pd
2.1、数据结构
在介绍之前,我们先来说说Pandas中常用的两种数据结构:Series、DataFrame。Series的基础知识
创建Series
import pandas as pd
# 创建series(通过数据创建)
pd.Series(["a","b","c","d"])
# 创建series(通过字典创建)
dict = {
"a":"python",
"b":"java",
"c":"php"
}
pd.Series(dict)
# 创建series(通过自定义index创建)
pd.Series(["java","php","python","jsp"],index=["a","b","c","d"])
基本属性、操作、方法
ser_data = pd.Series(["java","php","python","jsp"],index=["a","b","c","d"])
# 获取series的索引
ser_data.index
# 获取series的值
ser_data.values
# 通过索引取值
ser_data["a"]
ser_data[["a","b"]]
# 判断是否有缺失值
ser_data.isnull()
ser_data.notnull()DataFrame的基础知识
创建DataFrame
pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),columns=['a', 'b', 'c'],index=["one","two","three"])
注:可以自定义索引名称和列名,同样也可以使用字典类型创建
基本属性、操作、方法
# 显示前五行/后五行
df.head()/df.tail()
# 获取某列的值名
df.columns
# 获取某列的值
df["a"]
df.a
df1[["a","b"]] # 选取多列
# 根据轴标签索引
df.loc["one":"three"]
# 根据整数索引
df.iloc[0:1]
# 获取某几行几列
df1.iloc[[0,2],[1,2]]
2.2、基本功能重新索引
# 参数:index、method、fill_value(不存在时填充值),columns表示更改列名
df.reindex(["one","two","hh","gg","ff"])
# 重新设置索引,其中原来的索引作为值放入DataFrame中
df.reset_index()丢弃指定轴上的项
# 丢弃轴上的某行()
df.drop(index_name)
# 丢弃某列
df.drop(column_name, axis=1/"columns")索引
针对Series
# 标签切片
ser["a":"d"]、ser[["a","c","e"]]
# 索引切片
ser[2:4]
# 布尔索引
ser[ser>0]
针对DataFrame
# 选取列
df["a"]、df[["a","c","d"]]
# 选取行
df.loc["dd"]、df.iloc[1]、df.iloc[1,2]、df.loc[["dd","cc"]]
# 选取某行某列
df.loc["dd",["a","c"]]
df.iloc[[1,2,3],[4,5,6]]
# 选取前三行
df[:3]
# 布尔索引
df[df["a"]>3]函数映射
np.abs(df)
# 将函数应用到由各列或行所形成的一维数组上(应用到行上则axis=1)
df.apply(function, axis=1)
# 作用于df中的每个元素
df.applymap(func)
# series中的map函数,应用于每个元素中
df["a'].map(func)排序
# 按照索引排序(按升降序排序)
obj.sort_index(axis=1, ascending=False)
# 按照值排序
frame.sort_values(by=['a', 'b'],ascending=False))排名
# 排名情况,相同的取均值
ser.rank()
# 原始排名情况
ser.rank(method='first')
# 按照降序排列
ser.rank(ascending=False, method='max')
# 对于dataframe多了一个axis参数
df.rank(axis=....)
2.3、汇总和计算描述
Pandas对象拥有一组常用的数学和统计方法汇总函数
主要统计一些常用的汇总函数:如平均值、标准差、方差、最大最小值、计数等相关系统和协方差
# 计算相关系数
df["a"].corr([""b])
# 计算协方差
df["a"].cov(df["b"])
# DataFrame的corr和cov方法将以DataFrame的形式分别返回完整的相关系数或协方差矩阵
df.corr()/df.cov()
# 利用DataFrame的corrwith方法,你可以计算其列或行跟另一个Series或DataFrame之间的相关系数
df.corrwith(df.IBM)唯一值及计数
# 统计唯一值
obj.unique()
# 统计各个元素出现次数(默认从大到小排序)
obj.value_counts()
# value_counts还是一个顶级pandas方法,可用于任何数组或序列
pd.value_counts(obj.values, sort=False)
# series中的值是否在序列中,返回布尔数组
ser.isin(['b', 'c'])
2.4、读取数据
在我们进行数据分析时候,需要先读取数据,一般情况下数据都保存在CSV文件、excel文件、数据库中,本文也主要介绍这三种常用的文件读取,对于其他的大家可以参考参考《利用python进行数据分析》。CSV文件操作
文件的读操作
import pandas as pd
pd.read_csv(path="",sep=",",header=None,index_col="",skiprows=[0,2,4])
其中path表示路径、sep表示分隔符、header表示是否显示头部信息、index_col表示建立索引(其中:index_col='message '将message列定义为索引,index_col=["a","b"] 建立多层索引)、skiprows=[0,2,4] 表示跳过0,2,4行数据,还有其他的一些参数,大家可以在使用中查看提示即可。
文件的写入操作
df.to_csv()
参数如下:index 表示是否加索引、header 表示是否有标头、columns=['a','b','c']定义csv文件头部名称、sep='/' 表示分隔符excel文件操作
文件读操作为
pd.read_excel('examples/ex1.xlsx', 'Sheet1')
可以看到基本的参数为文件名、sheet页名
同样,写入操作为
df.to_excel("excel_name.xlslx","sheet_name")数据库读取数据
我们以常用的mysql数据库为例,首先需要我们按照pymsql的库用来连接数据库(直接pip安装即可),读取操作为:
import pymysql
db = pymysql.connect(host="服务器ip(本地使用localhost即可)",port=3306,user='用户名',password='数据库密码',db="数据库名")
pd.read_sql("select * from taggit_tag",db)
结果如下:
操作比较简单直接使用pd.read_sql(),其中第一个参数为sql语句,第二个为连接的数据库json数据读取
对于json库笔者使用较多的就是对爬取数据的json格式解析了,本文简述json库的常用操作
具体说明如下:
import json
json.loads() # 将JSON字符串转换成Python形式
json.dumps() # 将Python形式转化成JSON字符串
pd.read_json() # 读取json格式的文件
df.to_json # 将数据从pandas输出到JSON
三、总结
本文主要是介绍了pandas的一些入门知识,都是对pandas数据结构的一些操作,后面讲解了使用pandas文件中数据的一些操作(基本上能满足我们的日常工作,如需读取其他文件格式,可以自行google),本文是pandas的一个基础入门总结,后续会整理Pandas的一些进阶的知识。
更多Pandas操作:
python pandas 讲解ppt_Python数据分析之Pandas入门相关推荐
- python pandas 讲解ppt_Python数据分析之pandas基本功能讲解
pandas的基本功能 重新索引 不存在的索引都用同一个值填充: obj.reindex(['a','b','c','d','e'],fill_value=0) out: a -5.3 b 7.2 C ...
- python中的pandas库_数据分析中 pandas 库的基本用法详解
上篇分享了数据分析用到的一个库:Numpy 库,今天分享一个比 Numpy 更高效的库:pandas,它可以对数据进行导入.清洗.处理.统计和输出.pandas 是基于 Numpy 库的,可以说,pa ...
- python组成结构_Python数据分析丨pandas基本数据结构组成
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云,作者:统计学家 目录 1引言 2 Series数组 2.1 ...
- Python全栈开发-数据分析-02 Pandas详解 (上)
Pandas详解 (上) 一. 安装pandas 1.按Win+R,输入CMD确定, 输入 pip install pandas 回车 还要安装xlrd,否则你打不开Excel文件 pip insta ...
- python pandas 讲解ppt_Python中pandas的分析——包括代码实践,相关,解析,含,实战
该文章代码均在jupyter Notebook中运行,且已安装re包 # 先读取数据 import pandas as pd f = open(r'C:\Users\qingfeng\Desktop\ ...
- Python全栈开发-数据分析-03 Pandas详解 (下)
Pandas详解 (下) 一. Excel文件的拆分与合并 1.1 一个文件夹下多个工作簿的合并[单独Sheet] 思路: 1,把文件夹下面所有的文件都遍历出来 2.循环读取每个文件 (1)第一次读取 ...
- python安装pandas库cmd_python数据分析之pandas安装
(其实最好是用binary文件安装,例如pandas-0.9.1.win32-py2.7.exe,则不会出现下面问题) 1,下载,cmd命令行进入下载解压目录,python setup.py inst ...
- Python全栈开发-数据分析-03 Pandas详解 (中)
Pandas详解 (中) 一. 处理缺失值 1.1 drop函数:删除行,删除列 1.删除某列或某行数据可以用到pandas提供的方法drop 2.drop方法的用法: drop(labels, ax ...
- 数据分析工具Pandas(7):数据清洗、合并、转化和重构
数据分析工具Pandas(1):Pandas的数据结构 数据分析工具Pandas(2):Pandas的索引操作 数据分析工具Pandas(3):Pandas的对齐运算 数据分析工具Pandas(4): ...
最新文章
- Cocoa的MVC架构分析
- php-curl小记
- php mysql某值相同时_php - Mysql3个字段,任何一个字段的值相同则为重复,语句应该怎么写?...
- 公因式的概念_公因式概念论文,关于也淡化概念相关参考文献资料-免费论文范文...
- PHP5.3下加速器ZendGuardLoader安装及故障处理
- Bailian3470 整理扑克牌【贪心+二分】
- 【机器学习算法应用和学习_1】1.1 机器学习框架
- 后台返回数据时,接口设计规范参考
- Linux文件的三种特殊权限SUID、SGID、STICKY
- dedecms 判断是否有值然后显示
- origin 绘制箱图
- 最新添加了一键加入服务器的功能,功能介绍 - 晴天漫画系统 晴天漫画程序 基于标签的一套自动采集更新漫画系统...
- Java入门 - 循环结构基础
- 数据库update更新date类型数据
- namecheap如何解析域名
- android 放大镜功能,利用Android实现一个放大镜功能
- 凸集学习——理解凸集概念、凸包演示
- 高等数学上:函数的极限(重难点)
- 由《创业时代》想到的
- keil 局部变量不能查看值,显示为not in scope
热门文章
- Java实现O(nlogn)最长上升子序列
- C程序--输出月份英文名(指针数组)
- 转载一份大佬的面试指南,命中率很高
- 升级联想E450(加内存条换固态重装系统win10)
- 暴力递归到动态规划 05 (贴纸拼词)
- @Value注解获取不到配置值
- 计算机与航空方向专业,2018航空航天工程专业就业前景和就业方向分析
- java 中实现一行一行地读文件和一行一行地追加写文件
- NX二次开发 UFUN创建倒角特征 UF_MODL_create_chamfer
- 北大AI公开课第五课--深度学习处理器by寒武纪陈云霁