数据分析基础
1.比较Python与c(numpy)在计算领域所用的时间
前提:安装对应模块
pip install numpy
然后再进行学习
import datetime as dt
import numpy as np
n = 500000
#python
start = dt.datetime.now()
A,B = [],[]
for i in range(n):
A.append(i ** 2)
B.append(i ** 3)
C = []
for a,b in zip(A,B):
C.append(a + b)
usetime = dt.datetime.now() - start
print(usetime.microseconds)#单位是微秒
#numpy
D = []
start_1 = dt.datetime.now()
D = np.arange(n) ** 2 + np.arange(n) ** 3
usetime_1 = dt.datetime.now() - start_1
print(usetime_1.microseconds)
'''
结果为:621342
8010
相差太大了
'''
**
2.了解numpy中的arange array
import numpy as np
a = np.arange(10)
print(a)#与列表不同,用空格分割
b = np.arange(1,10)
print(b)
c = np.arange(1,10,2)
print(c)
d = np.array([])
print(d)
e = np.array([10,20,30,40])
print(e)
f = np.array([
[1,2,3],
[5,6,6]
])
print(f)
print(type(f))
print(type(f[0]))
print(type(f[0][0]))
print(f.dtype)
g = np.array(['1','2','3'])
print(g.dtype)
print(type(g[0]))
G = np.array(['1','2','3'],dtype=np.int32)
print("------------------")
print(G.dtype)
h = G.astype('<U11')#h = G.astype(np.str_)
print(h.dtype)
F = np.array([
[1,2,3],
[5,6,6]
])
print(f.shape)#元组类型
i = np.array([
[np.arange(1,5),np.arange(6,10),np.arange(11,15)],
[np.arange(2,6),np.arange(7,11),np.arange(16,20)]
])
print(i)
print(i.shape)
#索引
print(i[0])
print(i[0][1])
print(i[0][1][1])
print(i[0,1,1])
3.了解索引和一些主要类型
import numpy as np
i = np.array([
[np.arange(1,5),np.arange(6,10),np.arange(11,15)],
[np.arange(2,6),np.arange(7,11),np.arange(16,20)]
])
print(i)
print(i.shape)
#索引[0][1][1]===>[0,1,1]
print(i[0])
print(i[0][1])
print(i[0][1][1])
print(i[0,1,1])
#遍历
'''
print(i.shape)#元组(2,3,4)
for x in range(i.shape[0]):
for y in range(i.shape[1]):
for z in range(i.shape[2]):
print(i[x][y][z],i[x,y,z])
'''
#numpy内置类型和自定义类型
'''
bool_ ---->1个字节 -------->b
int8 ---->1个字节有符号整形-------->i1
int16 ---->2个字节有符号整形-------->i2
int32 ---->4个字节有符号整形-------->i4
int64 ---->8个字节有符号整形-------->i8
uint8 ---->1个字节无符号整形-------->u1
uint16 ---->2个字节无符号整形-------->u2
uint32 ---->4个字节无符号整形-------->u4
uint64 ---->8个字节无符号整形-------->u8
float16 ----->2字节浮点型 -------->f2
float32 ----->4字节浮点型 -------->f4
float64 ----->8字节浮点型 -------->f8
complex64----->8字节复数型 -------->c8
complex128---->16字节复数型 -------->c16
str_ ----->取决字符长度和编码形式----> U字符数
'''
b = np.array([1,2,3,4],dtype=int)#int--->映射int32
print(b.dtype)
c =b.astype(float)#float---->映射float64
print(c.dtype)
d = b.astype(str)
print(d.dtype)#str----><U11
print('------------------------------')
#自定义类型
'''
< 小端字节序
= 系统默认,和处理器相关
> 大端字节序
'''
a = np.array([
('ABC',[1,2,3,4])
])
print(a)
print(a.dtype)
#索引取值
print(a[0])
print(a[0][1])
print(a[0][1][1])
每日感慨:听说又要去学校了,很好,但是要自律,加油~
祝大家学习顺利,加油~