集合1.2.3.4.5的元素与集合的关系符号是什么?

  • 4.1.1 根据标签索引进行访问
  • 4.1.2 根据数字索引进行访问
    • 4.4.1 通过索引进行访问
  • 4.7.2 复合索引的访问

由于集合是无序的,所以创建的 DataFrame 对象中元素的顺序也无序。

集合内不能嵌套集合、列表

  • index:指定行索引
  • dtype:指定元素的数据类型

字符串数据类型的数据元素会被忽略

使用列表创建 DataFrame 对象时,不同列表的长度不同会报错。

Series 可以保证列数据个数不一样的不同列的各行数据元素位置相对应




四分位数:把数值从小到大排列并分成四等分,处于三个分割点位置的数值就是四分位数。

  • 需要传入一个列表,列表中的元素为要获取的数的对应位置

相关系数:描述两组样本的相关程度的大小
相关系数:协方差除去两组样本标准差的乘积,是一个 [-1, 1] 之间的数

协方差:可以评估两组统计数据的相关性
协方差正为正相关,负为反相关。绝对值越大,相关性越强。

  1. 计算两组样本中的各个元素与均值的差
  2. 协方差为 两组数据离差的乘积的均值
  • by:指定排序参照的字段
  • axis:排序的方向, 0 - 对行进行排序(默认),1 - 对列进行排序
  • axis:排序的方向, 0 - 对行进行排序(默认),1 - 对列进行排序

按列的方向遍历每个元素进行处理,返回一个处理后的新数组,不会修改原数组。

  • axis:操作的轴向,默认对行进行操作,默认为0,接收
  • as_index:表示聚合后的聚合标签是否以DataFrame索引形式输出,默认为True
  • sort:表示是否对分组依据分组标签进行排序,默认为True




  • index:分组所依据的列
  • values:指定需要聚合统计的列
  • columns:指定列,依据该列的每个值进行分列统计
  • margins:是否对透视表的每行每列进行汇总统计
  • aggfunc:聚合要执行的操作




  • subset:接收 string 或 序列 为参数,表示要进行去重的列,默认为None,表示全部的列(只有当一行中所有的列一样,才会对该行进行去重)
  • keep:接收 string 为参数,表示重复时保留第几个数据。first:保留第一个。last:保留最后一个。false:只要有重复都不保留。默认为first。
  • inplace:表示是否在原表上进行修改。默认为False。

默认情况下,对所有的列进行去重,不在原表上进行修改,有重复值时默认保留重复值的第一个。

  • axis:表示轴向,0为删除行,1为删除列,默认为0.
  • how:接收 string 为参数,表示删除的方式,any 表示只要有缺失值就删除该行或列,all表示全部为缺失值才删除行或列。默认为any。
  • subset:接收 array 类型的数据为参数,表示进行缺失值处理的行或列,默认为None,表示所有的行或列。
  • inplace:表示是否在原表上进行操作,默认为False。
  • value:表示用来替换缺失值的值
  • method:接收 string 为参数,backfill或bfill表示使用下一个非缺失值进行替换,pad或ffill表示使用上一个非缺失值进行替换,默认为None
  • inplace:表示是否在原表上进行操作,默认为False。
  • limit:表示填补缺失值的个数上限,默认为None



DataFrame 的单列数据为一个 Series 。根据 DataFrame 的定义,DataFrame 是一个带有标签的二维数组,每个标签相当于每一列的列名。

4.1.1 根据标签索引进行访问

4.1.2 根据数字索引进行访问

DataFrame 添加列,只需要新建一个列索引,并对该索引下的数据进行赋值操作即可。

4.4.1 通过索引进行访问

loc() 是针对索引名称的访问方法

iloc() 是针对数字索引的访问方法

需要指定列名与行的索引名

调用 drop 方法通过索引标签删除行,标签重复会删除多行。

DataFrame 的行索引和列索引都支持为复合索引,表示从不同角度记录数据。


4.7.2 复合索引的访问


    • 1.1.4 求解问题的主要步骤
    • 1.1.5 程序设计的实质
    • 1.1.6 数据结构课程的内容体系
  • 1.2 基本概念与术语
    • 1.2.1 数据与数据结构
  • 1.3 算法与算法分析
    • 1.3.1 算法的基本概念
        • 1.3.3.2.1 最好、最坏、平均时间复杂度
        • 1.3.3.3.1 多项式时间算法的时间复杂度
        • 1.3.3.3.2 指数时间算法的时间复杂度
        • 1.3.3.4.1 算法优化(动态规划法)

问题的数学模型,反映数据及其之间的关系。(存储结构和逻辑结构)

处理问题的策略(是对数据运算的描述,是程序的逻辑抽象)

为计算机处理问题而编制的一组指令集

1.1.4 求解问题的主要步骤

数学模型(逻辑结构)??存储结构??算法??编程并测试结果

1.1.5 程序设计的实质

选择好的数据结构和算法

问题一:N个数的选择问题。
假设有N个数,要求找出N个数中第k大的那个数。

算法一:将N个数读入一个数组,冒泡排序法递减排序,最后在已排序的数组中第k个数即为所求。(要求:内存空间足够容纳这N个数)
算法二:将N个数的前k个数读入一个数组,递减排序,再将剩下的数逐个读入,将其与数组中的第k个数比较,若大于则插入数组适当位置,数组最后一个数被挤出。
结论:都不是很好的算法。。。。

1.1.6 数据结构课程的内容体系

评价 :不同数据结构的比较和算法性能分析
小结:数据结构课程的研究内容

  1. 数据的存储结构/物理结构

1.2 基本概念与术语

1.2.1 数据与数据结构

  • 所有能被输入到计算机中,且能被计算机处理的符号的总称。(如:实数、整数、字符(串)、图形和声音等)
  • 是数据(集合)中的一个 “个体”
  • 是数据结构中讨论的基本单位
  • 是数据结构中讨论的最小单位
  • 数据元素是由若干个数据项组成
  • 是性质相同的数据元素的集合
    【每一行是一个数据元素】
    【每一列是对应的数据项】
    【数据对象中的元素不会是孤立的,而是彼此相关的,这种彼此之间的关系称为 “结构”(线性表、图、树)】
  • 是相互之间存在的一种或多种关系的数据元素的集合。

逻辑结构可用二元组形式定义为:
D是数据元素的有限集合,R是D上关系的有限集合。

是逻辑结构在计算机中的表示(即是逻辑结构在存储器中的映象)

例如:学生成绩表基于数组的顺序存储结构可描述如下:

  • 基于数组的顺序存储的类描述
  • 是指一数据值的集合和定义在这个集合上的一组操作
  • 例1.3用Java接口来描述复数的抽象数据类型。
    (假设复数的操作只包含一下操作。。)
  • 例1.4编写实现【例1.3】中复数抽象数据类型的Java类代码

1.3 算法与算法分析

1.3.1 算法的基本概念


1.有穷性:有限步骤内结束,且每个步骤在有穷的时间内完成
2.确定性:1??每条语句都是确定的,不会产生二义性2??整个算法输出的结果在特定的输入情况下是确定的
3.有效性:算法中的每个步骤都可以有效执行

1.正确性 2.可读性 3.健壮性(容错性)4.高效性(时间与空间)

  • 例1:给出求整型数组a中最大值的算法
  • 例2:(就地逆置)给出整型数组a中数据元素实现就地逆置的算法

算法分析:算法复杂度的评判

  • 一个特定 算法的“运行工作量” 的大小,只依赖于 问题的规模(通常用整数n表示)。
  • 算法=控制结构+原操作(固有数据类型的操作)
  • 算法的执行时间=∑原操作(i)的执行次数*原操作(i)的执行时间
    算法的实行时间与原操作执行次数之和成正比

1.3.3.2.1 最好、最坏、平均时间复杂度

  • 例4:在数组中查找值为x的数据元素

最好时间复杂度:O(1)
最坏时间复杂度:O(n)
平均时间复杂度:O(n)

最好时间复杂度:O(n):所有都是有序的,只需要扫描一遍
最坏时间复杂度:O(n2):完全逆序

按增长率由小至大的顺序排列有:

1.3.3.3.1 多项式时间算法的时间复杂度

常量阶 对数阶 线性阶 线性对数阶 平方阶 立方阶

1.3.3.3.2 指数时间算法的时间复杂度

1.3.3.4.1 算法优化(动态规划法)

  • 问题描述:给定一个整数序列A1,A2,… An(可能有负数),求A1~An的一个子序列Ai~Aj,使得Ai~Aj的和最大。
  • 例如:整数序列-2,11,-4,13,-5,2,-5,-3,12,-9的最大子序列的和为21(从A2~A9);整数序列4,-3,5,-2,1,2,6,-2的最大子序列的和为11(从A1~A7)。

我要回帖

更多关于 元素与集合的关系符号 的文章

 

随机推荐