Numpy常用的数据结构

2023-11-14

numpy安装
pip install numpy
numpy底层是使用C语言来实现运算的效果非常高

数据清洗的意义

  • 现实生活中,数据并非完美,需要进行清洗才能进行后面的数据分析
  • 数据清洗是整个数据分析项目最消耗时间的一步
  • 数据的质量最终决定了数据分析的准确性
  • 数据清洗是唯一可以提高数据质量的方法,使得数据分析的结果也变得更加可靠

数据清洗常用工具

  • 目前在Python中,numpy和pandas是最主流的工具
  • numpy中的向量化运算使得数据处理变得高效
  • pandas提供了大量数据清洗的高效方法
  • 在Python中,尽可能多的使用numpy和pandas中的函数,提高数据清洗的效率

arange和rang的区别

  • 在Python中range只能迭代整型
  • numpy中的arange步可以为浮点型

numpy常用的数据结果

  • numpy中常用的数据结果是ndarray格式
  • 使用array函数创建,语法格式为array(列表或元组)
  • 可以使用其他函数例如:arange(迭代器) 、linspace(等差数组)、zeros等创建

numpy常用方法
zeros
ones
dtype
size:返回数组中使用元素的总和
shape:查看该数组的行和列数(返回的结果是元组类型(当只有))
ndmin:查看数组为多少维数组

在这里插入图片描述

练习代码

# -*- coding: utf-8 -*- 
# @Time : 2020/2/1 19:35 
# @Author : 大数据小J

import numpy as np

"""
array 
里面可以传字符串,字典,元组,列表
np.dtype 返回的结果是numpy这个数据类型
dtype=None  array里面有这个参数,这个参数的意思是可以强制转换数据类型。(强制类型转换,只能够是列表和元组,并且里面的数据为统一数据)
:代表着
"""

a = np.array([1, 2, 3, 4, 5], dtype=float)  # [1. 2. 3. 4. 5.] 当传入的数据类型为列表类型,返回的结果为列表类型
b = np.array((1, 2, 3, 4, 5))  # [1 2 3 4 5] 当传入的数据为元组类型,返回的结果也是列表类型
c = np.array('demo')  # demo 当传入字符串类型,返回的结果为字符串类型
d = np.array({'name': 'Big_data J'})  # {'name': 'Big_data J'} 当传入的结果为字典类型,返回的结果为字典类型
# print(np.dtype)   # <class 'numpy.dtype'>  返回的结果为numpy这个数据类型
e = np.array((1, 2, 3, 4, 5), dtype=str)  # ['1' '2' '3' '4' '5'] 可以强制转换为字符串类型
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])  # 使用array可以创建列表嵌套数据,也可以生成二维数据以上等
# print(arr)
# print(arr[0])   # [1 2 3 4]返回的结果为列表的第一行数据,numpy也是从0开始
# print(arr[1])   # [5 6 7 8]返回的结果为列表的第二行数据
# print(arr[2])   # [ 9 10 11 12]返回的结果为列表的第三行数据
# print(arr[1:2])  # [[5 6 7 8]] 返回的结果是遵从左闭右开的原则。
# print(arr[1:3])  #[[ 5  6  7  8] [ 9 10 11 12]]
# print(arr[0, 1])  # 2 array中是以”,“来操控
"""
np.arange()
意思:和range差别不大,但可以指定步长为浮点型  
这个方法是numpy里面的迭代器与range和像
arange 和 range 有什么区别? 区别在于 arange可以生成浮点型   range只能生成整型
arange 也是一个左闭右开的原则
"""
ara = np.arange(1, 10, 0.5)  # [1.  1.5 2.  2.5 3.  3.5 4.  4.5 5.  5.5 6.  6.5 7.  7.5 8.  8.5 9.  9.5] 可以指定步长为浮点型
# print(ara)

"""
linspace 
意思:等差数组
常见的参数: start, stop, num=50, endpoint=True
start:开始值
stop: 结束值
num=50: 默认情况下,这个参数为50,这代表着元素个数,生成的元素
endpoint=True : 默认情况下为True,意思是:是否包含其结束值(也就是stop)
"""
# lin = np.linspace(1, 10, 10, endpoint=True)  # endpoint默认情况下为True,当我们想不包含其结束值的时候可修改为False
# print(lin)   # [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]  返回的结果为浮点类型的等差数组

lin2 = np.linspace(1, 5, 10, endpoint=True)  # [1.         1.44444444 1.88888889 2.33333333 2.77777778 3.22222222
# 3.66666667 4.11111111 4.55555556 5.        ]   生成的结果算法为4/9

"""
zeros
意思:生成一个为0的数据
常见的参数shape, dtype=None, order='C'
shape:传参 (传入的数据类型可以为列表,元组).第一个值为行,第二个值为列
dtype:强制类型转换

ones
意思:生成一个为1的数据
常见的参数shape, dtype=None, order='C'
shape:传参 (传入的数据类型可以为列表,元组),第一个值为行,第二个值为列
dtype:强制类型转换

ndim
意思:判断一个数组是几维数组

shape
意思:查看数组为几行几列。当为一维数组的时候(返回的结果为(4,))
返回的数据类型为元组类型

size
意思:返回数组里面有多少个元素

dtype
意思:返回数组的数据类型
"""
ze = np.zeros(shape=[4, 5])  # 生成一个四行五列的二维数据
ze1 = np.zeros(4)  # [0. 0. 0. 0.] 返回的结果为一维数组  默认情况下为浮点类型
# print(ze1)

on = np.ones(4)  # [1. 1. 1. 1.] 生成一个一维数组 默认情况下为浮点数据类型
on1 = np.ones([4, 5], dtype=int)  # 生成一个二维数组 浮点型
# print(on1+1.5)   # 可以对数组的值进行加法运算

# print(on1.ndim)  # 2 查看数组的行和列,返回为元组类型
# print(on.shape)  # (4,) 返回的结果为元组类型   一维数组直接输出列数
print(on1.shape)  #(4, 5) 二维数组先行后列

# print(on.size)  # 4  返回数组里面的元素个数
# print(on1.size)  # 20

# print(on.dtype)  # float64 返回的结果为浮点类型
# print(on1.dtype)  # int32 返回的结果为整型

data = ((1, 1.5, 2.5, 3.3, 4.4,), (2, 3.4, 5.5, 6.6, 7.7), (7.7, 8.8, 9.9, 2.2, 6.7))
demo = np.array(data)
# print(demo[1, 4])   # 2.5 从0开始,第一个值为行索引,第二个值代表列索引
# print(demo[1:, 2])  # [5.5 9.9]  先选择第一行以后的数组,在选择第一行以后的数组的第二个列数
# print(demo[:, 1:3])  # 不选择起始值和结束值, 在进行选择行的第1列到第3列(但不包含第三列)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Numpy常用的数据结构 的相关文章

随机推荐

  • 常见的排序算法及其复杂度分析

    1 常见算法分类 十种常见排序算法一般分为以下几种 非线性时间比较类排序 交换类排序 快速排序和冒泡排序 插入类排序 简单插入排序和希尔排序 选择类排序 简单选择排序和堆排序 归并排序 二路归并排序和多路归并排序 线性时间非比较类排序 计数
  • 黑盒测试与白盒测试的区別

    黑盒测试与白盒测试是软件测试中两种不同的测试方法 它们的主要区别在于测试者对被测试软件的了解程度 下面 我们将详细介绍这两种测试方法的特点和适用场景 一 黑盒测试 黑盒测试又称为功能测试 是针对被测试软件的功能进行测试的一种测试方法 测试者
  • linux 进程几种状态,linux进程状态

    linux系统最常用的命令莫过于ps 经常要用其查看linux的进程和线程情况 此文我们着重来看进程 进程又分为以下几种状态 1 运行 正在运行或在运行队列中等待 2 中断 休眠中 受阻 在等待某个条件的形成或接受到信号 3 不可中断 收到
  • Kotlin Coroutines Flow 系列(一) Flow 基本使用

    一 Kotlin Flow 介绍 Flow 库是在 Kotlin Coroutines 1 3 2 发布之后新增的库 官方文档给予了一句话简单的介绍 Flow cold asynchronous stream with flow build
  • C# socket异步通信服务器和客户端

    本文章向大家介绍C socket异步通信服务器和客户端 主要包括C socket异步通信服务器和客户端使用实例 应用技巧 基本知识点总结和需要注意事项 具有一定的参考价值 需要的朋友可以参考一下 服务器代码 只要客户端连接进来就会接收到Se
  • Qt之QTableView 保持滚动条自动滚动到底部

    在使用QTableView添加数据时 当数据量超出显示范围时会自动的打开滚动条 如果设置了在需要时打开滚动条属性 而默认的是滚动条一直是保持在最顶部 但是有些时候我们添加数据时是需要查看添加的最新结果的 所以一般都会把滚动条滚动到最新数据那
  • 【scrapy】scrapy爬取数据指南

    scrapy是爬虫界常用的基于Python爬虫框架 但是网上找了很多这类的文章 发现有多处错误 故为了让刚想尝试爬虫的蜘蛛们少走点坑 故把最新的方法奉上 在此之前 请先更新你的pip版本 并安装scrapy pymysql pip inst
  • kernelbase.dll崩溃的处理_kernelbase.dll故障教程

    kernelbase dll是存放在windows系统下的一个非常重要的dll文件 DLL英文全称Dynamic Link Library 中文意思是 动态链接库 DLL是一个作为共享函数库的可执行文件 它使进程可以调用不属于本身可执行代码
  • java 代理模式

    1 静态代理 1 1 代码实现 接口 interface Hello String sayHello String str 实现 class HelloImp implements Hello Override public String
  • 对象常用的方法

    思维导图 对象中常用的方法 Object prototype 1 hasOwnProperty 方法会返回一个布尔值 指示对象自身属性中是否具有指定的属性 也就是 是否有指定的键 检测是否为私有属性 即使属性的值是 null 或 undef
  • (五)redis常用命令之list

    概述 列表类型用来存储多个有序的字符串 列表中的每个字符串就是一个元素 一个列表最多可以存储2 32 1个元素 redis的列表结构操作起来非常灵活 应用场景非常广 lpush命令 从列表左边插入多个元素 格式 lpush key valu
  • 使用dockerfile发布go项目

    docker安装 下载docker yum install docker 设置docker随系统启动 chkconfig docker on 启动docker服务 service docker start 启动后查看docker状态 sys
  • pandas Cannot interpolate with all object-dtype columns

    pandas 不能使用所有的 object 类型的列进行插值 这意味着在使用 pandas 的插值函数 例如 interpolate 时 所有的列都必须是数值类型的 如果其中有一列是 object 类型的 则会抛出异常 要解决这个问题 你需
  • 单列模式--Singleton with Go

    package main import fmt sync Singleton 单例对象的类必须保证只有一个实例存在 全局有唯一接口访问 1 懒汉模式 指全局的单例实例在第一次被使用是构建 缺点 非线程安全 type singleton st
  • 软件测试必备的Linux知识(一)

    1 Linux 概述 1 1 测试人员为什么学习linux 对于软件测试人员来说 我们测试的任何产品都是基于操作系统 比如我们每天都在使用的QQ软件 它有windows ios Android Mac OS等版本 需要把QQ安装在各个平台上
  • 虚拟地址,虚拟地址空间, 交换分区

    1 虚拟内存是内存管理的一种方式 它在磁盘上划分出一块空间由操作系统管理 当物理内存耗尽是充当物理内存来使用 它将多个物理内存碎片和部分磁盘空间重定义为连续的地址空间 以此让程序认为自己拥有连续可用的内存 当物理内存不足时 操作系统会将处于
  • 从零开始的ESP8266探索(11)-定时任务调度器Ticker使用演示

    文章目录 目的 使用演示 基本使用1 基本使用2 动态设置和参数传递 停止和重启任务 注意事项 总结 目的 Arduino for esp8266属于无操作系统环境 对于开发多任务的复杂应用还是比较麻烦的 所以这里就提供了一个近似于操作系统
  • bugku No one knows regex better than me

    进入环境是一串php代码 代码审计 考的是正则
  • 感知器的数学表达和训练算法

    目录 一 感知器模型 二 两种训练法则 1 感知器训练法则 2 delta法则 三 小结 1 标准梯度下降算法与随机梯度下降算法的差异 2 有阈值的感知机算法和无阈值的感知机算法的差异 在人工神经网络简介一节中 图二中的ANN系统的每一个单
  • Numpy常用的数据结构

    numpy安装 pip install numpy numpy底层是使用C语言来实现运算的效果非常高 数据清洗的意义 现实生活中 数据并非完美 需要进行清洗才能进行后面的数据分析 数据清洗是整个数据分析项目最消耗时间的一步 数据的质量最终决