Chapter1_Python基础

1.1 Python基础

  • 推导式: 两个对象之间的映射关系,类似于实数之间关系变换的函数,只不过对象变成了矩阵。
    # Ex1-1
vacabulary = ['conform', 'deem', 'indispensiable', 'intensify', 'ascribe']
{i: len(i) for i in vacabulary}
    # Ex1-2
emm..大概知道是怎么个意思,但好像不会写呢
  • 匿名函数: 关键字lambda,后紧接形参名,和映射关系以冒号分开
    # Ex1-3
list(filter(lambda x: sum(1 if i%3 == 0 else 0 for i in x) > 0, my_list))
  • 打包函数: 用于处理两个列表相同位置上元素关系
    # Ex1-4
L3 = ["0", "1", "2", "3", "4"]
for l3, l2 in zip(L3, L2):
print(l3, l2)

1.2 NumPy基础

1.2.1 NumPy数组的构造

  • 等差数列:
    np.linspace(闭起始点,闭终止点, 样本个数)
np.arange(闭起始点,开终止点,步长)
  • 特殊矩阵:
    np.zeros((2, 3, 4))     # 创建全零数组
np.ones((2, 1, 2)) # 创建全一数组
np.full((2, 3), 10) # 创建全十数组
np.zeros_like(arr) # 创建和给定数组相同大小的全零数组
np.ones_like(arr) # 创建和给定数组相同大小的全一数组
np.full_like(arr, [100, 200])
np.eyes(n) # 创建n×n的单位矩阵
  • 随机数组:
    np.random.uniform(闭区间起始点, 闭区间终止点, size)
np.random.rand(size) # 默认取值区间[0,1]
np.random.normal(mu, sigma, size) # 生成服从N[mu, sigma]的正态分布数组
np.random.randn(size) # 标准正态分布
np.random.randint(闭起始点, 开终止点, size) # 生成区间左开右闭的随机整数数组
np.random.choice(arr, size, replace=False, p) # 以给定概率在已知数组中进行不放回抽样
np.random.permutation(arr) # 打散原列表

1.2.2 NumPy数组的变形

  • 由元素组织方式变化导致的变形:
    array = array.transpose(2, 0, 1)                        # 括号内为新的维度顺序
array = array.T # 将原先的维度顺序逆向变换
array = np.swapaxes(array, a, b) # 仅变换多维数组中的两个维度
my_matrix = np.arange(8).reshape((2, 4), order = 'C') # 括号内为欲构造数组的维度,order = 'C'/'F'来决定行/列优先填充
array = np.expand_dims(array, (0, 2)) # 在第一和第三维度插入维数为一的维度
array = np.squeeze(array, (0, 2)) # 将第一和第三维度压缩
  • 由合并和拆分导致的变形:
    res = np.stack([pop_man, pop_women], axis=2)                # 异质性连接,新增一个维度
res = np.concatenate([pop_1_6, pop_7_12], axis=1) # 同质性连接,在原有唯独基础上进行延长
res = np.split(pop_1_6, indices_or_sections=3, axis=1) # 以第二维度均匀划分成三个部分
res = np.split(pop_1_6, indices_or_sections=[1, 4], axis=1) # 自定义分割点
array = np.repeat(array, repeats=2) # repeat后接重复的次数
    # Ex1-5
concadate(),类似于同质性的划分
# Ex1-6
array = np.zeros((10, 10))
print(array)
array[0] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
array[:, 0] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(array)
# arr1 = np.repeat(array, repeats=10, axis=1)
# arr2 = np.repeat(array, repeats=10, axis=0)
# print(arr1)
# print(arr2)

1.2.3 NumPy数组的切片

    target[0:3, :, 1:3]
target[[True, False, True, False], :, :]
target[:, np.newaxis, np.newaxis].shape # 类似于expand_dims()操作

1.2.4 广播机制

    # Ex1-8
判断是否符合广播机制的条件:从后往前进行比对,如满足一下任一条件则符合广播机制,广播结果的维度以高纬度者为准:①值相等;②值为1.

1.2.5 常用函数

  • 计算函数:
    max()       # 最大值
min() # 最小值
mean() # 平均值
median() # 中位数
std() # 标准差
var() # 方差
sum() # 总和
quantile() # 分位数
  • 计算函数:
    max()       # 最大值
min() # 最小值
mean() # 平均值
median() # 中位数
std() # 标准差
var() # 方差
sum() # 总和
quantile() # 分位数

Pandas_1_预备知识的更多相关文章

  1. 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识

    驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...

  2. 受限玻尔兹曼机(RBM)学习笔记(一)预备知识

    去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算法原 ...

  3. 学习Identity Server 4的预备知识

    我要使用asp.net core 2.0 web api 搭建一个基础框架并立即应用于一个实际的项目中去. 这里需要使用identity server 4 做单点登陆. 下面就简单学习一下相关的预备知 ...

  4. JAVA面向对象-----面向对象(基础预备知识汇总)

    终于整理好了面向对象基础预备知识,但是有点多,所以你们懂的,贴图,较长的代码我还是会排版出来的,我不想把时间浪费在排版上在word里排版一次已经很浪费时间了,所以请谅解. public class C ...

  5. 用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识 (2) + 准备项目

    上一部分预备知识在这 http://www.cnblogs.com/cgzl/p/9010978.html 如果您对ASP.NET Core很了解的话,可以不看本文, 本文基本都是官方文档的内容. A ...

  6. ASP.NET Core的实时库: SignalR -- 预备知识

    大纲 本系列会分为2-3篇文章. 第一篇介绍SignalR的预备知识和原理 然后会介绍SignalR和如何在ASP.NET Core里使用SignalR. 本文的目录如下: 实时Web简述 Long ...

  7. 学习Identity Server 4的预备知识 (误删, 重补)

    我要使用asp.net core 2.0 web api 搭建一个基础框架并立即应用于一个实际的项目中去. 这里需要使用identity server 4 做单点登陆. 下面就简单学习一下相关的预备知 ...

  8. LDA-线性判别分析(一)预备知识

    本来是要调研 Latent Dirichlet Allocation 的那个 LDA 的, 没想到查到很多关于 Linear Discriminant Analysis 这个 LDA 的资料.初步看了 ...

  9. IP地址和子网划分学习笔记之《预备知识:进制计数》

    一.序:IP地址和子网划分学习笔记开篇 只要记住你的名字,不管你在世界的哪个地方,我一定会去见你.——新海诚 电影<你的名字> 在我们的日常生活中,每个人的名字对应一个唯一的身(敏)份(感 ...

  10. django框架预备知识

    内容: 1.web预备知识 2.django介绍 3.web框架的本质及分类 4.django安装与基本设置 1.web预备知识 HTTP协议:https://www.cnblogs.com/wyb6 ...

随机推荐

  1. 如何在JavaScript中使用高阶函数

    将另一个函数作为参数的函数,或者定义一个函数作为返回值的函数,被称为高阶函数. JavaScript可以接受高阶函数.这种处理高阶函数的能力以及其他特点,使JavaScript成为非常适合函数式编程的 ...

  2. Mybatis 一级缓存和二级缓存原理区别 (图文详解)

    Java面试经常问到Mybatis一级缓存和二级缓存,今天就给大家重点详解Mybatis一级缓存和二级缓存原理与区别@mikechen Mybatis缓存 缓存就是内存中的数据,常常来自对数据库查询结 ...

  3. Java 加载、编辑和保存WPS表格文件(.et/.ett)

    WPS表格文件是金山开发的专门用于处理表格数据的Office工具,属于WPS Office中WPS文字.WPS表格和WPS演示三大功能模块之一.通常以.et和.ett作为文件后缀.我们在通过后端来操作 ...

  4. 中国DevOps平台市场,华为云再次位居领导者位置

    摘要:华为云软件开发生产线DevCloud在市场份额和发展战略两大维度均排名第一,再次位居领导者位置. 9月21日 ,国际权威分析师机构IDC发布<IDC MarketScape: 中国 Dev ...

  5. Nginx反代服务器进阶学习最佳配置实践指南

    转载自:https://www.bilibili.com/read/cv16150010?spm_id_from=333.999.0.0 0x00 编译实践 描述:在企业线上生产环境中推荐进行Ngin ...

  6. Elasticsearch Reindex性能提升10倍+实战

    文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484134&idx=1&sn=750249a ...

  7. Spring mvc源码分析系列--Servlet的前世今生

    Spring mvc源码分析系列--Servlet的前世今生 概述 上一篇文章Spring mvc源码分析系列--前言挖了坑,但是由于最近需求繁忙,一直没有时间填坑.今天暂且来填一个小坑,这篇文章我们 ...

  8. ERP是什么呢?

    ERP(Enterprise Resource Planning,企业资源计划)系统,是进行物质资源.资金资源和信息资源集成一体化管理的企业信息管理系统,ERP统领企业全局,为管理层服务,重心在于企业 ...

  9. KNN算法介绍及源码实现

    一.KNN算法介绍 邻近算法,或者说K最邻近(KNN,K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它 ...

  10. 故事 --- Linux和UNIX之间的那些爱恨与情仇

    Linux和UNIX具体有哪些关系及区别? UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 ...