商业数据分析 扫二维码继续学习

第二章 

第一节

1.数据类型:数字、字符串、列表、元祖、字典、集合

2.数据结构:容器(包括以下)

数字类型(整型、非整型)

序列类型(字符串、元祖、列表)

映像类型(字典)

集合类型(可变集合、不可变集合)

 

3.数字类型

普通整数(二进制 八进制 十六进制0-9 a-f )

长整数(结尾+L)

浮点数(用科学计数法表示,小数点位置可变,会有四舍五入的误差,10用e代替)

复数(由实数和虚数的和,一般用cmath模块处理复数)

 

[展开全文]

序列:列表、元组、字符串

列表最常见,可以改值,其余两种序列不可以,要想改值,必须先转成列表,而转列表就要用list

 

[展开全文]
袁幼锦 · 12-07 · 列表 0

递归函数(1)

递归就是引用、调用自身的意思

例如:计算n的阶乘

 

 

[展开全文]

这节又称世界灭亡教程

[展开全文]

取模:取余数

地板除:对小数点后进行处理(被除数与除数中有一个精度更高,结果也会保留相应精度)

=赋值;==判断是不是相等,相等True或1

a!=b 检查两个操作数的值是否不相等,不相等的话结果为真

运算符只是返回True or False

赋值运算符,更为复杂,先做一个操作 然后再赋值

什么是位运算符?

and or not 布尔变量

标识运算符 is(是不是一个房子?/空间?) not

id 看看是不是真的一个空间(浅层拷贝与深层拷贝)

基本运算符 运算符有优先级

[展开全文]

5.字典

·唯一内建的映射类型

·字典中的值并没有特殊的顺序,但是都储存在一个特定的键里面。可以区分键值对,但是无法排序

·字典对象是可变的,它是一个容器类型

5.1字典的创建

(1)方法一:直接创建

由多个 键及与其对应的值构成的对组成

大括号{键:值,键:值,键:值.....}

(2)方法二:使用dict函数通过其他映射(比如其他字典)或者(键,值)这样的序列对建立字典

通过键可以索引相应的值

dict函数也可以通过关键字参数创建字典

 

5.2字典基本操作

(1)len(d)返回d中项(键-值对)的数量

d【k】返回关联到键k上的值

d[k]=v将值v关联到键k上

de丨d[k]删除键为k的项

k in d检查d中是否有含有键为k的项

 

·字典可以改值,但是键不可以修改(键就相当于值对应的序号)

 

·字典与列表的区别

键类型:字典的键不一定为整型数据,也可能是其他不可变类型,例如浮点型、字符串或者元祖

自动添加:即使键在字典中不存在,在索引时,字典就会自动为它分配一个值,建立新的项。而列表中是不可以将值关联到列表范围之外的索引上的。

 

成员资格:表达式k in d(d为字典)查找的是,而不是值。 表达式v in l (l为列表)则用来查找,而不是索引。

 

(2)第一点——键可以为任何不可变类型——是字典最强大的地方

第二点

 

5.3字典的格式化字符串的

字典会使字符串格式化更高效一些。在每个转换说明符后面,可以加上(用圆括号括起来)键,后面再跟上其他说明元素。

5.4字典常用方法——

1.clear方法(1)

clear方法:清除字典中所有的项,是个原地操作(类似于list.sort),所以无返回值(或说返回None)

原地操作即是说原本的结果已经改变,而不是会产生新的结果。

每一个操作都会带来新的变化和结果,会有两两种可能。一种是原本的值发生改变,一种产生了新的值。

 

clear方法(2)

 

门牌号与房子

copy方法

·返回一个具有相同键-值对的新字典,这个方法实现的浅复制(shalllow copy)

 

2.deep copy

 

 

 

3.fromkeys方法

·使用给定的键建立新的字典,每个键默认对应的值为None

{}.formkeys([’键‘,’键‘])

·也可以直接在所有字典的类型dict上面调用方法

dict.formkeys(['键','键'])

4.get方法

更宽松的访问字典项方法

5.items keys values方法

 

6.pop&popitem方法 (弹出)

既有原地操作,又有新操作

字典操作以键为主

 

7.setdefault方法

 

8.update方法

 

 

6、集合

(1)集合set 由序列(或者其他可迭代的对象)构建的。主要用于检查成员资格,因此集合中相同的元素会被忽略。列表中因为元素在不同位置所以允许有相同的值

集合是无序的

(2)求并集和交集

 

(3)

(4)集合可变,不可做字典中的键。集合的规模可以增加或减少,集合中的元素不可改变。因此不可集合套集合

frozenset类型 将集合冻结,成为不可变的集合

 

7.1基本运算符

(1)算术运算符

(2)

(3)比较运算符

[展开全文]

deepcopy避免副本修改值(原地修改而不是替换)时改变原始字典

副本进行替换值不会改变原始字典

[展开全文]

UTF-8编码方式

字符串:用一对引号表示,用绿色高亮标记;长字符串用三引号

\(转义符):\之后的部分变成了第二语义

原始字符串:在前面加上r

 

 

 

[展开全文]

元组:list、tuple

[展开全文]

列表:一种可以改变数值的序列

元组和字符串:不可以改变值

元组和字符串想要改值用list函数变成列表改值即可

列表的其他操作:append、count、extend、index、insert、reverse、sort、sorted(非原地操作)

 

[展开全文]
星mml · 09-28 · 列表 1

序列分类:列表、字符串、元组

序列[ ]实现二维的办法: 

edward=['Esward Gumby',42]
john=['John Smith',50]
database=[edward,john]
database
[['Esward Gumby', 42], ['John Smith', 50]]

序列的其他的操作:索引、分片、加、乘、检查元素

序列索引:用变量、字符串、函数值来索引都可以

序列分片:第一个数字是开始取的位置,最后一个数字代表停下的位置(该位置对应的位置不取);只有起点在终点左侧时分片才能取出序列

 

[展开全文]

变量名的取法:大小写英文字母、数字(数字不能)、下划线

 

 

[展开全文]

第二章 

第一节

1.数据类型:数字、字符串、列表、元祖、字典、集合

2.数据结构:容器(包括以下)

数字类型(整型、非整型)

序列类型(字符串、元祖、列表)

映像类型(字典)

集合类型(可变集合、不可变集合)

 

3.数字

普通整数(二进制 八进制 十六进制0-9 a-f )

长整数(结尾+L)

浮点数(用科学计数法表示,小数点位置可变,会有四舍五入的误差,10用e代替)

复数(由实数和虚数的和,一般用cmath模块处理复数)

 

4.序列:在需要操作一组数值时,用来表示一串数字、一行数字。

·用【】表示

·表示的一行数值可以不是一种类型(例如第一个是字符串,第二个是数字)

·序列也可以包含其他序列

 

4.1序列通用操作

索引、分片、加、乘、检查某个元素是否属于序列的成员(成员资格)、计算序列长度、找出最大元素和最小元素的内建函数

(1) 索引

序列中的元素是有编号的(从0开始递增),通过编号可以分别访问这些元素。

·从左至右 01234···

·负数索引 从右至左 最后一个是-1

·序列可以用变量索引,也可以直接使用索引

·用具体函数的返回来索引

(2)分片

·使用分片操作来访问一定范围内的元素

·通过冒号相隔的两个索引来实现【9:30】 

注意:30是停的位置,是不取的

·确保起点在终点的左侧

·起点缺失即从第零个位置开始取;终点缺失即一直取到结尾

·步长:步长不能为零,可以为负

(3)相加

两种相同类型的序列才能进行连接操作

(4)相乘

None“这里什么也没有”

(5)成员资格检查

in(在序列中是否)

(6)长度 len

最大值max

最小值min

内建函数 (紫色)

 

4.2列表操作-List函数

 

 

 

[展开全文]

常见的数据类型:

数字、字符串、列表、元组、字典、集合

面向对象,分类,但都有着共同的祖先——容器

序列和映射是最主要的两类容器,序列中每个元素有编号,映射中每个元素有名字(健)。而此外的集合就是一个非序列与非映射的容器。

 

[展开全文]

列表可以被改值

list("XXX")

删除:del XXX[2]

利用分片来改值:

XX=list("jdiosj")

name[1:]=list(hfidahf)

 

lst.append(4)  是在lst后面加上一个4

序列[].count(某) 数出序列中有多少个某

a+b不改变a、b的值

a.extend(b),会让a的值改成a+b

a.index(4),在a里索引4

a.insert(3,“four"),在a序列中的3后面插入”four"

x=[1,2,3]      x.reverse()    就会逆序

x.sort()对x的值进行排序

括号内填排序的依据,比如key=len

另一种排序方法:

x[2,5,3,2]

y=sorted(x)

x不改变y是排序后的

[展开全文]
刘奕琨 · 09-21 · 列表 1

序列的基本操作对列表、元组、字符串都有用

序列的表示:edward=[ ],一个序列表示一串数据,但是数据可以不是一个类型。

序列的操作:索引

1. 序列中元素的编号从0开始递增

greeting="XXX"

greeting[数字]

2.负数索引,序列最右边的元素编号是-1,向左依次递减。

3.也可以直接索引。"XXX"[1]

4.input函数会把键盘输入的字符保存为一个数列

XXX=input("Year")[3]

序列的操作:分片

访问一定范围内的元素而非一个元素

XXX=ajdioahfds

XXX[数字1:数字2]

会提取两数字编号中间的元素。且前取等后面不取。所以这个方法无法访问最后一个元素。

缺失终点,可以包含最后一个元素。[-3:]

步长:

[起点 : 终点(不含):步长]

如果步长是正数,起点必须在终点的左侧

如果步长是负数,起点必须在终点的右侧

序列的操作:相加

[ajiodfa]+[djioapf] 

但是不能跨数据类型相加,只能是数字加数字,文字加文字

序列的操作:相乘

用[数字]*数字

初始化长度为10的列表:

XXX=[Nome]*数字

检查值是否在一个序列中:in

XXX='ahfidoh'

"h"in XXX

序列的操作:长度、最小值和最大值

长度len()

最大值max()

最小值min()

 

[展开全文]

十六进制 0x 开头

八进制 0开头

普通数字不能大于2147483647

长整数:结尾放L

浮点数(小数):

通常用e来代替10。1.23的十的九次方=1.23e9

但是浮点数的运算可能会有四舍五入的误差。

复数:

开根号:

from math import sqrt

sqrt( )   但是括号内不能是负数,会报错

一般用cmah处理复数

import cmath
cmath. sqrt(-1)

[展开全文]

序列:列表、元组、字符串

[ ]表示序列

Python也有序列套序列的操作

 

  • 序列索引

编号从0开始递增,从-1开始抵减

序列不仅可以用变量名索引,也可以直接用序列值索引

  • 序列切片

分片操作,通过[ ]相隔的两个索引来实现,取左不取右

Python分片操作的时候,要确保起点在终点的左侧,倒着取数,取不到

如果要取到包括序列结尾的元素,可以置空最后一个索引;同理也可以置空第一个索引和全部索引

步长

 

序列加、减、乘

[展开全文]

数据类型:数字、字符串、列表、元组、字典、集合

列表是用的最多的数据类型

 

数字:

整数(int)长整数(long)浮点实数(float)复数(complex)

Python数字的上限是2的31次方

在整数的结尾写大写L,可以表示长整数

浮点数可能会有四舍五入的误差

复数要用cmath的模块处理

[展开全文]

数字 字符串 列表 元组 字典 集合

容器:序列(列表和元组) 

映射(字典)

其他(集合)

 

python 可以表达哪些数字

1、整数 int 有符号整数 

十六进制(0x 开头 0-9 a-f)和八进制(0 开头 0-7)

2、long 长整数 ,L在末尾表示。

普通整数不能大于2^31

3、浮点数(小数)

e代替10

存储不准确

4、复数

实数和虚数的和

 

 

[展开全文]
任课老师
  • 中国人民大学商学院教授

    张瑾,中国人民大学商学院副院长,教授,博士生导师。分别于2013年、2009年、2006年获清华大学管理学博士、工学硕士和工学学士学位。获教育部高等学校科学研究优秀成果奖、教育部博士研究生学术新人奖、北京市哲学社会科学优秀成果二等奖、北京市优秀学位论文优秀指导教师、北京市优秀博士毕业生、中国信息经济学会理论贡献奖,中国人民大学教学优秀奖,清华大学优秀博士论文奖等荣誉。在国内外重要学术期刊与会议上发表学术论文三十余篇,其中四篇为管理学国际顶级期刊(UTD 24)论文。主持三项国家自然科学基金项目,其中一项在基金委后评估中被评为特优,并带领团队在汽车、电信、传媒、核电、互联网等行业完成多个政府和企业课题。主要教学与研究领域包括人工智能与数字经济,大数据分析与管理,机器学习与商务智能等