Day41.Pandas的应用

【数据分析】python-pandas速查文档(4) python-pandas速查文档(4),数据分析 阅读详情

Pandas的应用



前言

本文主要展示了Pandas的应用范围和简单使用。


一. Pandas的应用

1.1 Pandas简介

Pandas是Wes McKinney在2008年开发的一个强大的分析结构化数据的工具集。Pandas以NumPy为基础(数据表示和运算),提供了用于数据处理的函数和方法,对数据分析和数据挖掘提供了很好的支持;同时Pandas还可以跟数据可视化工具Matplotlib很好的整合在一起,非常轻松愉快的实现数据的可视化展示。

Pandas核心的数据类型是Series(数据系列)、DataFrame(数据表/数据框),分别用于处理一维和二维的数据,除此之外还有一个名为Index的类型及其子类型,它为Series和DataFrame提供了索引功能。日常工作中以DataFrame使用最为广泛,因为二维的数据本质就是一个有行有列的表格(想一想Excel电子表格和关系型数据库中的二维表)。上述这些类型都提供了大量的处理数据的方法,数据分析师可以以此为基础实现对数据的各种常规处理。

1.2 Series的应用

Pandas库中的Series对象可以用来表示一维数据结构,跟数组非常类似,但是多了一些额外的功能。Series的内部结构包含了两个数组,其中一个用来保存数据,另一个用来保存数据的索引,如下图所示。

pandas-series

1.2.1 创建Series对象

提示:在执行下面的代码之前,请先导入pandas以及相关的库文件,具体的做法可以参考上一章。

  • 方法1:通过列表或数组创建Series对象。

    代码:

    # data参数表示数据,index参数表示索引标签
    # 如果没有指定index属性,默认使用数字索引
    ser1 = pd.Series(data=[320, 180, 300, 405], index=['一季度', '二季度', '三季度', '四季度'])
    ser1
    

    输出:

    一季度    320
    二季度    180
    三季度    300
    四季度    405
    dtype: int64
    
  • 方法2:通过字典创建Series对象。

    代码:

    # 字典中的键就是索引标签,字典中的值就是数据
    ser2 = pd.Series({'一季度': 320, '二季度': 180, '三季度': 300, '四季度': 405})
    ser2
    

    输出:

    一季度    320
    二季度    180
    三季度    300
    四季度    405
    dtype: int64
    

1.2.2 索引和切片

跟数组一样,Series对象也可以进行索引和切片操作,不同的是Series对象因为内部维护了一个保存索引的数组,所以除了可以使用整数索引通过位置检索数据外,还可以通过自己设置的索引标签获取对应的数据。

  • 使用正负向整数索引

    代码:

    print(ser2[0], ser2[2], ser2[-1])
    ser2[0], ser2[-1] = 350, 360 
    print(ser2)
    

    输出:

    320 300 405
    一季度    350
    二季度    180
    三季度    300
    四季度    360
    dtype: int64
    
  • 使用自己设置的标签索引

    代码:

    print(ser2['一季度'], ser2['三季度'])
    ser2['一季度'] = 380
    print(ser2)
    

    输出:

    350 300
    一季度    380
    二季度    180
    三季度    300
    四季度    360
    dtype: int64
    
  • 切片操作

    代码:

    print(ser2[1:3])
    print(ser2['二季度':'四季度'])
    

    输出:

    二季度    180
    三季度    300
    dtype: int64
    二季度    500
    三季度    500
    四季度    520
    dtype: int64
    

    代码:

    ser2[1:3] = 400, 500
    ser2
    

    输出:

    一季度    380
    二季度    400
    三季度    500
    四季度    360
    dtype: int64
    
  • 花式索引

    代码:

    print(ser2[['二季度', '四季度']])
    ser2[['二季度', '四季度']] = 500, 520
    print(ser2)
    

    输出:

    二季度    400
    四季度    360
    dtype: int64
    一季度    380
    二季度    500
    三季度    500
    四季度    520
    dtype: int64
    
  • 布尔索引

    代码:

    ser2[ser2 >= 500]
    

    输出:

    二季度    500
    三季度    500
    四季度    520
    dtype: int64
    

1.2.3 属性和方法

Series对象的常用属性如下表所示。

属性说明
dtype / dtypes返回Series对象的数据类型
hasnans判断Series对象中有没有空值
at / iat通过索引访问Series对象中的单个值
loc / iloc通过一组索引访问Series对象中的一组值
index返回Series对象的索引
is_monotonic判断Series对象中的数据是否单调
is_monotonic_increasing判断Series对象中的数据是否单调递增
is_monotonic_decreasing判断Series对象中的数据是否单调递减
is_unique判断Series对象中的数据是否独一无二
size返回Series对象中元素的个数
values以ndarray的方式返回Series对象中的值

Series对象的方法很多,我们通过下面的代码为大家介绍一些常用的方法。

  • 统计相关方法

    代码:

    # 求和
    print(ser2.sum())
    # 求均值
    print(ser2.mean())
    # 求最大
    print(ser2.max())
    # 求最小
    print(ser2.min())
    # 计数
    print(ser2.count())
    # 求标准差
    print(ser2.std())
    # 求方差
    print(ser2.var())
    # 求中位数
    print(ser2.median())
    

    输出:

    1900
    475.0
    520
    380
    4
    64.03124237432849
    4100.0
    500.0
    

    Series对象还有一个名为describe()的方法,可以获得上述所有的描述性统计信息,如下所示。

    代码:

    ser2.describe()
    

    输出:

    count      4.000000
    mean     475.000000
    std       64.031242
    min      380.000000
    25%      470.000000
    50%      500.000000
    75%      505.000000
    max      520.000000
    dtype: float64
    

    提示:因为describe()返回的也是一个Series对象,所以也可以用ser2.describe()['mean']来获取平均值。

    如果Series对象的数据中有重复元素,我们可以使用unique()方法获得去重之后的Series对象,如果想要统计重复元素重复的次数,可以使用value_counts()方法,这个方法会返回一个Series对象,它的索引就是原来的Series对象中的元素,而每个元素出现的次数就是返回的Series对象中的数据,在默认情况下会按照元素出现次数做降序排列。

    代码:

    ser3 = pd.Series(data=['apple', 'banana', 'apple', 'pitaya', 'apple', 'pitaya', 'durian'])
    ser3.value_counts()
    

    输出:

    apple     3
    pitaya    2
    durian    1
    banana    1
    dtype: int64
    
  • 数据处理方法

    Series对象的dropna和fillna方法分别用来删除空值和填充空值,具体的用法如下所示。

    ser4 = pd.Series(data=[10, 20, np.NaN, 30, np.NaN])
    ser4.dropna()
    

    输出:

    0    10.0
    1    20.0
    3    30.0
    dtype: float64
    

    代码:

    # 将空值填充为40
    ser4.fillna(value=40)
    

    输出:

    0    10.0
    1    20.0
    2    40.0
    3    30.0
    4    40.0
    dtype: float64
    

    代码:

    # backfill或bfill表示用后一个元素的值填充空值
    # ffill或pad表示用前一个元素的值填充空值
    ser4.fillna(method='ffill')
    

    输出:

    0    10.0
    1    20.0
    2    20.0
    3    30.0
    4    30.0
    dtype: float64
    

    需要提醒大家注意的是,dropna和fillna方法都有一个名为inplace的参数,它的默认值是False,表示删除空值或填充空值不会修改原来的Series对象,而是返回一个新的Series对象来表示删除或填充空值后的数据系列,如果将inplace参数的值修改为True,那么删除或填充空值会就地操作,直接修改原来的Series对象,那么方法的返回值是None。后面我们会接触到的很多方法,包括DataFrame对象的很多方法都会有这个参数,它们的意义跟这里是一样的。

    Series对象的apply和map方法可以用于对数据进行处理,代码如下所示。

    Series对象的mask和where方法可以将满足或不满足条件的值进行替换。

    Series对象的sort_index和sort_values方法可以用于对索引和数据的排序,具体的用法请参考下面的例子。

    Series对象的value_counts方法可以统计每个值出现的次数并且以从大到小的顺序进行排列,Series对象的unique方法可以获取到不重复的值。

1.2.4 绘制图表

Series对象有一个名为plot的方法可以用来生成图表,如果选择生成折线图、散点图、柱状图等,默认会使用Series对象的索引作为横坐标,使用Series对象的数据作为纵坐标。

二. DataFrame的应用

2.1 创建DataFrame对象

DataFrame对象

2.2 基本属性和方法

基本属性和方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 索引和切片

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

2.4 相关运算

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

2.5 缺失值处理

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

2.6 数据离散化

在这里插入图片描述

2.7 其他操作

  1. 数据的合并

  2. 交叉表和透视表

    1. 交叉表:根据一个数据系列计算另一个数据系列的统计结果得到的DataFrame对象。
    2. 透视表:将DataFrame的列分别作为行索引和列索引,然后对指定的列应用聚合函数得到的结果。
  3. 分组和聚合

  4. 绘制图表

这些操作不一一列举,有兴趣的小伙伴可以看Pandas官方文档


总结

今天主要是学习了Padas的简单介绍以及一些常见的操作的相应函数,具体的一些操作,后面整理好了在发出来,撸起袖子加油干。

脑壳疼,溜了遛了。Loading(41/100)。。。

Python 的 pandas DataFrame 简介 pandas是一个开源的 Python 库,它提供了高性能的数据操控,使得数据分析变得快速和简单。典型的pandas用途有重塑(reshape)、排序(sort)、切片(slice)、聚合(aggregate)和合并(merge)数据。pandas库的底层是NumPy库。NumPy是用来处理数组的,它的性能比传统的 Python 列表,高得多,因为它把数据存放在一块连续的内存里。pandasSeries(系列):这是一个类似于一维数组的对象,包含一个数据数组和一个数据标签数组。数据标签数组被称作index。 阅读详情

相关推荐

【Python百日基础系列】Day11 - Pandas 基础

文章目录

专注于医院数据分析技术与系统开发的创作与分享。 1158

pandas函数应用

pandas 笔记006 目录pandas 笔记006六、pandas函数应用1. apply 和 applymap1.1 可以直接使用numpy的函数1.2 通过apply将函数应用到列或行1.3通过applymap将函数应用到每个数据2.排序2.1 按索引排序(sort_index())2.1.1 Series2.1.2 DataFrame2.2 按值排序(sort_values())2.2.1 Series2.2.2 DataFrame3.唯一值和成员属性3.1 unique()3.2 value_

weixin_45499440的博客 1083

pandas实战运用

pandas数据分析模块,对pandas数据分析的api进行了实战讲解

Pandas的应用

月环比就是这个月的销售额相比上个月增长多少(可以是正增长也可以是负增长),正增长就是这个月的销售额比上个月增长了,负增长就是这个月的销售额比上个月下降了。pandas中的series、numpy中的array、python中的list,这三者类似,都可以用来表示一维数组。数据分组聚合:属于数据聚合,分组体现在groupby函数上,聚合指的是使用聚合函数,agg是调用多个聚合函数时用到的。groupby只能输出窄表,透视表可以是宽表,并且透视表还能处理空值。代替 直接在每个点上作图,也。

m0_67839004的博客 1250

机器视觉/将HIK海康面阵相机连接Halcon软件

本文简述了如何将海康面阵相机连接到Halcon软件中进行实时取图的过程。

Dahe.qu 4866

超越图灵机——论人工智能实现的可能性(一)

超越图灵机——论人工智能实现的可能性(一)我认为人工智能是可以实现到逻辑思维这一步的,因为逻辑思维可以完全用字符串来表示,图灵机可以把任意单元置成任意值,在这一点上是完备的,这就足以描述逻辑思维了,所以用图灵机完全可以实现到逻辑思维。当然图灵机会受到哥德尔不完备性的制约,但是逻辑系统也会受到同样的制约,所以我认为完全可以用图灵机实现逻辑思维。那么逻辑思维的本质机理与图灵机是什么关系?逻辑思

太极语言 1万+

【Python进阶】9- Pandas的应用

Pandas是Wes McKinney在2008年开发的一个强大的**分析结构化数据**的工具集。 Pandas以NumPy为基础(数据表示和运算),提供了用于数据处理的函数和方法,对数据分析和数据挖掘提供了很好的支持; 同时Pandas还可以跟数据可视化工具Matplotlib很好的整合在一起,非常轻松愉快的实现数据的可视化展示。 Pandas核心的数据类型是Series(数据系列)、DataFrame(数据表/数据框),分别用于处理一维和二维的数据,除此之外还有一个名为Index的类型及其子类型,它为S

我们会很适合 慢慢来 总会遇见你的 2901

从零构建SOEM主站:基于STM32的EtherCAT伺服控制实战指南

本文详细介绍了如何从零构建基于STM32的SOEM主站系统,实现EtherCAT伺服电机的高精度控制。通过硬件选型、SOEM协议栈移植、PDO/SDO配置优化等实战步骤,帮助开发者掌握工业自动化中的关键运动控制技术,特别适用于23位编码器伺服电机的应用场景。

weixin_29186249的博客 666

pandas库的使用场景

Pandas的常用数据结构是Series和DataFrame,它们可以用来处理多种类型的数据,包括时间序列数据和结构化数据等等,Pandas还提供了各种功能来方便处理数据,在数据清洗、数据切片/切块、数据聚合、数据分组、数据排序等方面提供便利。2. 数据探索性分析:Pandas可以用于数据的探索性分析,它可以给出数据的一些基本统计信息,如平均数、中位数、标准差、最大值、最小值等等。它支持缺失值的处理、数据类型的转换、重复数据的删除、不一致数据的纠正等。

kk_cola的博客 1499

基于DPABI和SPM12的任务态fMRI分析笔记1——预处理

前言 原理简介 预处理

Sophia2023的博客 1万+

“详规一张图”——上海土地利用数据

本文围绕城市规划与土地管理中空间数据的重要性,介绍了基于地理信息系统(GIS)技术对上海市用地数据进行获取与处理的具体方法。文章以上海市为例,详细阐述了如何通过构建以10米为间隔的网格点覆盖全市范围,并采用GET请求方式从“上海用地规划官网:详细规划‘一张图’公众版”平台获取地块信息的过程。通过对API接口参数的设置,包括坐标系、几何类型和返回格式等,实现了对每个网格点对应地块的属性信息(如规划用地类型、容积率、地块编号等)及几何形状信息的提取。

weixin_45812624的博客 2197

Python数据分析利器:Pandas实战技巧与高级应用

本文详细介绍了Pandas在数据分析中的应用,包括基础数据结构Series和DataFrame的使用,以及如何通过Pandas进行数据导入、清洗、处理、统计和输出。通过实际代码示例,展示了如何创建DataFrame、获取数据大小、选择数据、创建新列、删除重复行等操作。同时,文章还探讨了如何使用Pandas进行数据格式转换、重命名列、处理空值、应用统计函数,以及如何使用SQL语句与Pandas结合进行数据分析。最后,通过与AWS S3的集成示例,展示了如何使用Pandas处理云存储中的数据

数据与算法架构提升之路专栏 2833

SAP PI 系统复制,不只是把数据库拷过去,而是一次集成拓扑的重新落位

文章摘要:SAP PI/PO系统刷新生产数据到测试环境时,标准系统复制无法自动处理集成中枢特有的环境绑定问题。系统复制后,PI仍保留生产环境的连接配置,可能导致测试系统向生产环境发送消息。SAP提供的CTC模板可自动化部分后续配置,但无法替代人工对接口风险的全面评估。关键在于系统复制前绘制接口风险地图,复制后进行分层次验证:禁用生产连接、重定向测试接口、复核安全配置,并通过代表性链路测试确保系统行为符合预期。这需要结合SAP标准流程与业务语义判断,形成完整的治理闭环。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 83

pandas_day03

import numpy as np import pandas as pd df = pd.read_csv('learn_pandas.csv',usecols = ['School','Grade', 'Name','Gender','Weight','Transfer']) # 把Name列设为索引 df_demo = df.set_index('Name') df_demo School Grade Gender

qq_38048065的博客 8879

基于 Simulink 的双向 DC/AC 逆变器中 IGBT/MOSFET 寄生参数影响分析实战教程

摘要:本教程详细解析了Simulink中IGBT/MOSFET寄生参数对双向DC/AC逆变器的影响。通过对比理想模型与含寄生参数(如20nH内部电感、50nH回路电感)的仿真,揭示了电压尖峰、高频振荡等实际问题。建模步骤包括搭建基准电路、引入寄生参数、配置高精度求解器(步长10ns),并给出抑制措施:添加RC缓冲电路、调整驱动电阻。关键发现:寄生参数会显著增加开关损耗和EMI噪声,需通过参数扫描优化设计。教程还提供了代数环报错、仿真速度优化等实战技巧,帮助工程师从理想仿真过渡到高保真分析。

xiaoheshang_123的博客 68

uniapp [安卓苹果App端] - 实现判断并开启消息通知/提示权限,监测通知权限未开启时弹框提示用户并引导用户跳转至设置界面,uniApp检查通知权限+提示是否打开+点击跳转设置(详细示例代码)

uni-app判断有无通知权限,并进行设置,设置手机通知权限,开启通知权限,uni-app解决权限问题,uniapp 拉起授权(拒绝后重新开启权限)uniApp打包的手机app如果用户没开启通知权限、引导用户开启,uni-app动态打开应用通知权限,拒绝后跳转设置页面,uniapp获取通知栏权限,苹果ios系统打开通知权限,被拒绝怎么办,uniapp安卓判断通知权限,uniapp打包的APP引导用户打开手机通知权限,uniapp权限被拒绝,跳转手机设置页面 权限设置,IOS应用内跳转系统设置,uni-app

🏆 前端领域优质创作者 1万+

Study:day08-Numpy科学计算与Pandas数据分析

这个数据集收集了不同国家和地区的饮酒习惯数据,涵盖了啤酒、烈酒和葡萄酒的消费情况,并提供了人均纯酒精的消费总量。通过这些数据,研究人员和分析师可以研究饮酒趋势、文化差异、经济发展水平对饮酒习惯的影响,以及不同大洲之间的饮酒模式比较。此外,这些数据还可以用于公共卫生研究,以了解饮酒与健康之间的关系。shift函数用于将数据向前或向后移动指定的位数,默认为1位,可以指定步长periods=3步长为3。用于计算百分比变化的数据转换函数,它可以计算每个点相对于前一个数据点的变化的百分比。根据某个字段将数据合并。

weixin_73895683的博客 1037

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

pandas_day09

import numpy as np import pandas as pd 9.1 cat对象 9.1.1 cat对象的属性 pandas提供了category类型,使用户能够处理分类类型的变量,将一个普通序列转换成分类变量,可以使用astype方法 df = pd.read_csv('learn_pandas.csv',usecols = ['Grade', 'Name', 'Gender', 'Height', 'Weight']) df.head()

qq_38048065的博客 346

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

pandas_day07

import numpy as np import pandas as pd 7.1 缺失值的统计和删除 7.1.1 缺失信息的统计 缺失数据可以使用isna或isnull来查看每个单元格是否缺失,通过和sum的组合计算出每列缺失值的比例 df = pd.read_csv('learn_pandas.csv', usecols = ['Grade','Name','Gender','Height','Weight','Transfer']) df.isna().head()

qq_38048065的博客 245

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

机器学习 Day05 pandas库

Series 是 Pandas 中类似于一维数组的数据结构,能保存整数、字符串、浮点数等任何类型数据,由数据和相关索引两部分构成。就像一个有序的键值对集合,索引相当于键,数据相当于值。DataFrame 是 Pandas 中类似二维数组或表格(如 Excel)的对象,兼具行索引(横向,axis=0 )和列索引(纵向,axis=1 ) ,方便对二维数据进行操作和管理。apply。

qq_66246715的博客 1270

AI大模型从0到1记录学习numpy pandas day25

第 3 章 Pandas3.1 什么是PandasPandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。

Gsen2819的博客 1742

Python数据分析_Pandas_数据结构_day2

Pandas数据结构介绍创建Series对象# 翻译: 系列创建DataFrame对象# 翻译: 数据框架Series常见操作常用属性常用方法布尔索引运算DataFrame常见操作常用属性常用方法布尔索引运算更改操作导入和导出操作图解解释DataFrame可以把DataFrame看作由Series对象组成的字典,其中key是列名,值是SeriesSeriesSeries和Python中的列表非常相似,但是它的每个元素的数据类型必须相同。

AGI爱好者_数仓&可视化&数据分析工程师_Vae’伯乐‘ 1491

pandas 只保留日期_Pandas中时间和日期处理

1、生成一个时间段In [1]:import pandas as pdIn [2]:import numpy as np1)生成一个时间区间段,间隔为小时In [3]:rng = pd.date_range('1/1/2011', periods=72, freq='H')2)生成一个Series,并制定索引为时间段In [4]:ts = pd.Series(np.random.randn(len...

weixin_30070961的博客 4578

Python数据处理之Pandas库

本文介绍了Pandas中Series和DataFrame对象的创建与操作方法。Series是一维带标签数组,支持自定义索引和向量化运算;DataFrame是二维表格结构,支持行列索引和混合数据类型。演示了通过字典、数组等方式创建对象,以及数据访问、修改、切片等操作技巧。同时介绍了Index对象作为不可变标签数组的特性,以及Pandas处理缺失值的基本方法。这些数据结构是数据分析的核心工具,支持高效的数据处理和计算。

weixin_46287157的博客 5006

pandas_day04

4.1分组模式及其对象 如,依据性别分组,统计全国人口寿命的平均值 要想实现分组操作,必须明确3个要素:分组依据、数据来源、操作及其返回结果 import pandas as pd import numpy as np df = pd.read_csv('learn_pandas.csv') # 按照性别统计身高中位数 df.groupby('Gender')['Height'].median() Gender Female 159.6 Male 173.4 Name: Height, d

qq_38048065的博客 250

力扣pandas 每日一题1741 apply()

表:Employees在 SQL 中,(emp_id, event_day, in_time) 是这个表的主键。该表显示了员工在办公室的出入情况。event_day 是此事件发生的日期,in_time 是员工进入办公室的时间,而 out_time 是他们离开办公室的时间。in_time 和 out_time 的取值在1到1440之间。题目保证同一天没有两个事件在时间上是相交的,并且保证 in_time 小于 out_time。计算每位员工每天在办公室花费的总时间(以分钟为单位)。

ranchor666的博客 914
上一篇: Day40.Numpy的应用
下一篇: Day42.数据可视化
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值