• 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()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

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

    在这里插入图片描述

    查看列名列表
    ratings.columns
    
    • 1

    在这里插入图片描述

    查看索引咧
    ratings.index
    
    • 1

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

    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
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    获取索引
    s1.index
    
    • 1

    在这里插入图片描述

    获取数据
    s1.values
    
    • 1

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

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

    类似python的字段dict

    s2['a']
    
    • 1

    在这里插入图片描述

    s2[['a','b']]
    
    • 1

    在这里插入图片描述

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

    在这里插入图片描述

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    df.dtypes
    
    • 1

    在这里插入图片描述

    df.columns
    
    • 1

    在这里插入图片描述

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

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

    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值查询数据

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

    使用值列表批量查询

    在这里插入图片描述

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

    在这里插入图片描述

    使用条件表达式查询

    在这里插入图片描述

    在这里插入图片描述

    调用函数查询

    在这里插入图片描述

  • 相关阅读:
    java框架-Dubbo
    C结构体内定义结构体,不能直接赋值。
    HCL模拟器选路实验案例
    arthas诊断windows服务模式运行的Java进程
    FFmpeg入门详解之57:精通FFmpeg流程:击鼓传花之责任链模式
    【限制输入框值类型】自定义指令el-input输入类型限制,vue和html两个版本
    [PyTorch][chapter 58][强化学习-1]
    Abnova膜蛋白脂蛋白体解决方案
    Qt控制台项目也能使用opencv的imshow来显示摄像头视频
    数据抓取使用爬虫ip常见问题解决方法
  • 原文地址:https://blog.csdn.net/likemebee/article/details/126480917