pandas学习笔记

一.pandas简介

pandas是一个开源的python类库:用于数据分析、数据处理、数据可视化。有如下几个特点:

  • 高性能
  • 容易使用的数据结构
  • 容易使用的数据分析工具

很方便和其他类库一起使用:

  • numpy:用于数学计算
  • scikit-learn:用于机器学习

安装pandas:pip install pandas

二.pandas实战

2.1 pandas数据读取

数据类型 说明 pandas读取方法
csv、txt 用于逗号分割、tab分割的纯文本文件 pd.read_csv
excel 微软xls或者xlsx文件 pd.read_excel
mysql 关系型数据库表 pd.read_sql
2.1.1读取csv,使用默认逗号分隔符
使用pd.read_csv读取数据
import pandas as pd
fpath="./bank_marketing_copy.csv"
#使用pd.read_csv读取数据
ratings = pd.read_csv(fpath)
#查看前几行数据
ratings.head()

pandas学习笔记_第1张图片

查看数据的形状,返回(行数、列数)
ratings.shape

pandas学习笔记_第2张图片

查看列名列表
ratings.columns

pandas学习笔记_第3张图片

查看索引咧
ratings.index

在这里插入图片描述

查看每列的数据类型
ratings.dtypes

pandas学习笔记_第4张图片

读取txt文件自定义分隔符
txt_path="./access_pvuv.txt"
pvuv = pd.read_csv(txt_path,sep="\t",header=None,names=['pdate','pv','uv'])
pvuv

pandas学习笔记_第5张图片

读取excel文件
excel_path = "./pandasdata/access_pvuv.xlsx"
pvuv = pd.read_excel(excel_path)
pvuv

pandas学习笔记_第6张图片

2.2 pandas数据结构dataFrame & Series

Dataframe:二维数据,整个表格,多行多列

pandas学习笔记_第7张图片

Series:一维数据,一行一列

Series:是一种类似于一维数组的对象,它由一组数据(不同数据类型)以及一组与之相关的数据标签(即索引)组成
pandas学习笔记_第8张图片

2.2.1 仅有数据列表即可产生最简单的series
import numpy as np
import pandas as pd
s1 = pd.Series([1,'a',5.2,7])
s1

pandas学习笔记_第9张图片

获取索引
s1.index

在这里插入图片描述

获取数据
s1.values

在这里插入图片描述

创建一个具有标签索引的series
s2 = pd.Series([1,'a',5.2,7],index=['a','b','c','d'])
s2

pandas学习笔记_第10张图片

使用python字典创建series
sdata = {'zhoujie':8888,'xiaohai':6666,'xiaoming':7777}
s3 = pd.Series(sdata)
s3

pandas学习笔记_第11张图片

2.2.2 根据标签索引查询series数据

类似python的字段dict

s2['a']

在这里插入图片描述

s2[['a','b']]

在这里插入图片描述

type(s2[['a','b']])

在这里插入图片描述

2.2.3 Dataframe

DataFrame是一个表格型的数据结构

  • 每列可以是不同的值类型(数值、字符串、布尔值等)
  • 既有行索引index,也有列索引columns
  • 可以被看做由Series组成的字典
根据多个字典序列创建dataframe
data = {
     'sdata':['zhoujie','xiaohai','xiaoming']
    ,'year':[2001,2002,2003]
    ,'pop':[1.5,1.7,3.6]
}
df  = pd.DataFrame(data)
df

pandas学习笔记_第12张图片

df.dtypes

pandas学习笔记_第13张图片

df.columns

在这里插入图片描述

2.2.4 从dataframe中查询出Series
  1. 如果只查询一列、一行。返回的是pd.Series
  2. 如果查询多行、多列,返回的是pd.DataFrame
df['year']

pandas学习笔记_第14张图片
在这里插入图片描述
pandas学习笔记_第15张图片

2.2.5 查询dataframe的一行,结果是一个pd.Series

pandas学习笔记_第16张图片

2.2.5 查询dataframe的多行,结果是一个pd.Dataframe

pandas学习笔记_第17张图片

2.3 pandas查询数据的几种方法

  1. df.loc方法,根据行、列的标签值查询
  2. df.iloc方法,根据行、列的数字位置查询
  3. df.where方法
  4. df.query方法
    .loc既能查询,又能覆盖写入,强烈推荐!

pandas使用df.loc查询数据的方法

  1. 使用单个label值查询数据
  2. 使用值列表批量查询
  3. 使用数值区间进行范围查询
  4. 使用条件表达式查询
  5. 调用函数查询

注意

  • 以上查询方法,既适用于行,也适用于列
  • 注意观察降维dataFrame>Series>值
读取数据

数据为北京2018年全年天气预报
pandas学习笔记_第18张图片
pandas学习笔记_第19张图片
pandas学习笔记_第20张图片

使用单个label值查询数据

行或者列都可以只传入单个值,实现精准匹配
pandas学习笔记_第21张图片

使用值列表批量查询

pandas学习笔记_第22张图片

使用数值区间进行范围查询

pandas学习笔记_第23张图片

使用条件表达式查询

pandas学习笔记_第24张图片

pandas学习笔记_第25张图片

调用函数查询

pandas学习笔记_第26张图片

你可能感兴趣的:(大数据,pandas,学习,python)