栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

数据挖掘学习笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据挖掘学习笔记

第一章 python基础 1.4 python基本数据类型
#1.41数值类型
int,float,bool(True)
#1.42字符串str
s1='abcd'
s2='''ab cd'''
1.4.3列表List
L1=[1,'a1',2,'aa']
#[1, 'a1', 2, 'aa']
1.4.4元组Tuple

处在元组中的元素不能修改

T1=(1,'a1')
T1=(1,'C1','A1')
#(1, 'C1', 'A1')

T1[1]=2
# 'tuple' object does not support item assignment
​
 
1.4.5集合 

集合保持了元素的唯一性,对于重复的元素只取一个

J1={266,3,'h'}
#{266, 3, 'h'}
​
J2={266,3,3,'h','a','A','h'}
#{'A', 3, 266, 'h', 'a'} 
​
J2[0]
#'set' object does not support indexing
1.4.6字典

①{键 : 值}

②键必须唯一,值不必唯一

③(1)键可以是数值,字符。

(2)值可以是数值,字符或者其他python数据结构

d1={1:1,'J':{266,2,2},'T':(3,'A'),'L':[5,5],3:'''6'''}
#{1: 1, 'J': {2, 266}, 'T': (3, 'A'), 'L': [5, 5], 3: '6'}
​
d1[3]
#'6'
1.5 python公有方法 1.5.2切片
#通用
s2='hello world!'
​
s2[0:]
#'hello world!'
​
s2[0:1]
#'h' 
#包左不包右
​
s2[:]
#'hello world!'
​
s2[-1]
#'!'
​
s2[0:5:2]
#'hlo'
#从s2[0]开始两步截取一次
#[开始索引:结束索引:步长]


s2[::-1]
#'!dlrow olleh'
1.5.3长度

(1)字符串的长度为字符串中所有字符的长度(空格也算)

(2)列表,元组,集合的长度为元素的个数

(3)字典的长度为键的个数

len(s2)

1.5.4统计

字符串,列表,元组可以进行统计

s2='hello world!'
max(s2)
#'w'
1.5.5确定成员变量
'e'in s2
#True
1.5.6删除变量
s2='''ab cd'''
del s2
s2
# name 's2' is not defined
1.6方法 1.6.1列表方法
#1创建空列表 
L=list()
L=[]
#2添加元素
L.append('H')
#3扩展列表
L.extend(L1)
#某元素计数
L.count('H')
#返回某元素下标
L.index('H')
#元素排序 需要同为str或者int时
L.sort()
 
1.6.2元组方法
#1创建空元组
T=tuple()
T=()
#2元素计数
T1.count('a1')
#3返回下标
T1.index('a1')
#4元组连接
T+T1
1.6.3字符串方法
#创建空字符串
S=str()
​
#查找子串 查找子串开始出现的索引位置,没有找到则返回—1
#第一个参数为需要查找的子串,第二个参数为指定待查字符串的开始位置,第三个参数为指定待查字符串的长度
s1.find('a',1,len(s1))
​
#替换子串
#(被替换子串,替换子串)
s1.replace('a','aa')
​
#字符串连接
s1+S
​
#字符串比较
S==s1
1.6.4字典方法
#创建字典
d=dict()
d={}
    #可以将嵌套元素转为字典(必须嵌套,length只能为2)
d1=dict([[1,'aa']])
​
#获取字典值 有键获取对应的值
d1.get(1)
​
#字典赋值
d.setdefault(2,['a','b'])

1.9函数

1 无返回值

2有一个返回值

3有多个返回值

def work(r):
    import math
    c=2*math.pi*r
    s=math.pi*r*r
    return(c,s)
work(1)
第二章 科学计算包numpy

1Numpy的核心基础是N维数组

(以下代码默认导入numpy包)

2.2.1创建数组
#嵌套列表(元素为元祖) 转为二维数组
L3=[(1,2),(3,4)]
L4=np.array(L3)
#嵌套元祖(元素为元祖) 转为三维数组
L5=((1,2),(3,4),(5,6))
L6=np.array(L5)
#numpy多维数组中的子数组必须具有相同的长度
d3 = [[1,2,3],[4,5,6],[7,8,9,10]]
A33 = np.array(d3)

 

2.2.2内置函数创建数组
#创建3行4列元素全为1的数组
z1 = np.ones((3,4))
#创建3行4列元素全为0的数组
z2 = np.zeros((3,4))

#创建默认初始值为0 默认步长为1 末值为9的一维数组 
z3 = np.arange(10)

#创建初始值为2 步长为2 末值为9的一维数组
z4 = np.arrange(2,10,2)
#array([2, 4, 6, 8])
 2.3数组尺寸

通过数组的shape属性返回数组的尺寸,返回值为元组

#一维数组 仅返回一个元素 代表这个数组的长度
d11 = np.array([1,2,3,4,5,7])
s11 = d11.shape
s11
#(6,)

#二维数组 返回元组中有两个值 (行数,列数)
d2 = [[1,2,3],[4,5,6],[7,8,9]]
A22 = np.array(d2)
s22 = d22.shape
s22
#(3, 3)

数组重排

r = np.array(range(10))
r1 = r.reshape((2,5))
r1

 2.4数组运算

A = np.array([[1,2],[3,4]])
B = np.array([[5,6],[7,8]])
#A数组所有元素取平方 然后与B数组对应元素之间相除
C1 = A**2/B

#数学运算
M1 = np.sqrt(A)         #取平方根
M2 = np.abs([-1,-2,10]) #取绝对值
2.5数组切片 2.5.1常见的数组切片
#D[①,②] ①控制行下标 ②控制列下标  下标从零开始 
#取所有行或所有列 用:代替
D = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
D12 = D[1,0]       #访问行为1 列为0的数据
#5
D03 = D[:,[0,3]]   #访问0,3列数据
#*行控制 还可以通过逻辑列表来实现
D0 = D[D[:,0]>4,:]        #取满足0列大于4所有列数据
D31 = D[D[:,0]>5,[3,1]]   #取满足第0列大于4的3列数据 和 第0列大于5的1列数据
D31
#array([ 8, 10])
TF = [False,True,True]
Dtf = D[TF,[3,1]]
Dtf
#array([ 8, 10])
2.5.2 利用ix_()函数进行数组切片

数组切片也可以通过ix_()函数构造 行,列 下标索引器

D = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print(D[:,0]>4)
#[False  True  True]

print(np.ix_(D[:,0]>4 ))
#(array([1, 2], dtype=int64),)
Dix1 = D[np.ix_(D[:,0]>4),[3,1]]
print(Dix1)
print("-------这里注意看区别--------")
Dix2 = D[np.ix_(D[:,0]>4,[3,1])]
print(Dix2)

 2.6 数组连接

数组连接有水平连接【hstack()】和垂直连接【vstack()】两种方式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/834850.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号