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()

在这里插入图片描述

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

在这里插入图片描述

查看列名列表
ratings.columns

在这里插入图片描述

查看索引咧
ratings.index

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

2.2 pandas数据结构dataFrame & Series
Dataframe:二维数据,整个表格,多行多列

在这里插入图片描述

Series:一维数据,一行一列

Series:是一种类似于一维数组的对象,它由一组数据(不同数据类型)以及一组与之相关的数据标签(即索引)组成
在这里插入图片描述

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

在这里插入图片描述

获取索引
s1.index

在这里插入图片描述

获取数据
s1.values

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

df.dtypes

在这里插入图片描述

df.columns

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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年全年天气预报
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用单个label值查询数据

行或者列都可以只传入单个值,实现精准匹配
在这里插入图片描述

使用值列表批量查询

在这里插入图片描述

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

在这里插入图片描述

使用条件表达式查询

在这里插入图片描述

在这里插入图片描述

调用函数查询

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值