数学建模老哥-python基础和机器学习(三)Python+Numpy+Matplotlib速成

该笔记为个人学习笔记,看的课程是B站-数学建模老哥:3 Numpy科学库速成_哔哩哔哩_bilibili

目录

2.2速成

2.2.1python速成

2.2.1.1基本数据类型和赋值运算

2.2.1.1.1字符串

2.2.1.1.2数值

2.2.1.1.3布尔类型

2.2.1.1.4变量赋值

2.2.1.1.5空值

2.2.1.2控制语句

2.2.1.2.1条件控制语句

2.2.1.2.2循环语句

2.2.1.2.3条件循环

2.2.1.3复杂数据类型

2.2.1.3.1元组

2.2.1.3.2列表

2.2.1.4函数

2.2.2NumPy速成

2.2.2.1创建数组

2.2.2.2访问数据

2.2.3Matplotlib速成

2.2.4.1Series

2.2.4.2DataFrame

2.2.4总代码


2.2速成

2.2.1python速成

2.2.1.1基本数据类型和赋值运算
2.2.1.1.1字符串
# 字符串
data = 'Hello, Math!'
print(data[0])
print(data[1:5])  # 右边是闭区间
print(len(data))
print(data)
2.2.1.1.2数值
# 数值
value = 521
print(value)
value_2 = 1.2
print(value_2)
2.2.1.1.3布尔类型
# 布尔类型
true = True
false = False
print(true)
print(false)
2.2.1.1.4变量赋值
# 变量赋值
a, b, c = 1, 'hello', True
print(a, b, c)
print(a)
print(b)
print(c)
2.2.1.1.5空值
# 空值
a = None
b = a
print(a)
print(b)
2.2.1.2控制语句
2.2.1.2.1条件控制语句
# 条件控制语句
value = 1
if value == 1:
    print('This is true')
elif value > 20:
    print('is is bigger than 20?')
else:
    print('This is false')
2.2.1.2.2循环语句
# 循环语句
for i in range(5):
   print(i)
2.2.1.2.3条件循环
# 条件循环
i = 0
while i<5:
    print(i)
    i =i+1
2.2.1.3复杂数据类型
2.2.1.3.1元组
#元组:只读,元组的元素不能重新赋值
a=(1,2,3)
print(a)
print(a[1])
2.2.1.3.2列表
#列表
a=[1,2,3]
print(a)
#add
a.append(4)
print(a)
print(a[3])
#更新列表项
a[2]=5
print(a)
for i in a:
    print(i)

2.2.1.3.3字典 

#字典:可变容器模型 key:value
mydict ={'a':6.18,'b':'str','c':True}
print('A value:%.2f'%mydict['a'])
#add
mydict['a']=523
print('A value: %d'%mydict['a'])
print('keys:%s'%mydict.keys())
print('value:%s'%mydict.values())
for key in mydict:
    print(mydict[key])
2.2.1.4函数
#定义函数
#函数:可重复利用的 def()return
def mysum(x,y):
    return x+y
result = mysum(x=1,y=2)
print(result)

2.2.2NumPy速成

·创建n维数组(矩阵)
·对数组进行函数运算,使用函数计算十分快速,节省了大量的时间,且不需要编写循环,十分方便
·数值积分、线性代数运算、傅里叶变换
·ndarray快速节省空间的多维数组,提供数组化的算术运算和高级的广播功能。
·NumPy中的核心对象是ndarray
·ndarray可以看成数组,存放同类元素
·NumPy里面所有的函数都是围绕ndarray展开的 

2.2.2.1创建数组
# 创建数组
import numpy as np

myarray = np.array([1, 2, 3])
print(myarray)
print(myarray.shape)

# 多维数据
myarray = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5]])
print(myarray)
print(myarray.shape)
2.2.2.2访问数据
# 访问数据
print('第一行数据:%s' % myarray[0])
print('最后一行:%s' % myarray[-1])
print('整列(3列)的数据:%s' % myarray[:, 2])

2.2.3Matplotlib速成

·matplotlib是一个python2D绘图库,利用它可以画出许多高质量的图像,只需几行代码即可生成直方图,条形图,饼图,散点图等
·安装:

python -m pip install matplotlib 

2.2.4Pandas速成

·pandas相当于python中excel:它使用表(也就是dataframe),能在数据上做各种变换,但还有其他很多功能。

2.2.4.1Series
# series:维数组:list
import pandas as pd

myarray = np.array([1, 2, 3])  # 值
index = ['a', 'b', 'c']  # 键
myseries = pd.Series(myarray, index=index)
print(myseries)
print('series的第2个元素:')
print(myseries.iloc[1])
print('series的c index的元素:')
print(myseries['c'])
2.2.4.2DataFrame
# Dataframe:可以指定行和列的一维数组
myarray = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5]])  # 类型:(x y)
rowindex = ['row1', 'row2', 'row3']
colname = ['col1', 'col2', 'col3']
mydataframe = pd.DataFrame(data=myarray, index=rowindex, columns=colname)
print(mydataframe)
print('访问col3的数据')
print(mydataframe['col3'])

2.2.4总代码

# 基本数据类型
# python 6种数据类型
# 字符串
data = 'Hello, Math!'
print(data[0])
print(data[1:5])  # 右边是闭区间
print(len(data))
print(data)

# 数值
value = 521
print(value)
value_2 = 1.2
print(value_2)

# 布尔类型
true = True
false = False
print(true)
print(false)

# 变量赋值
a, b, c = 1, 'hello', True
print(a, b, c)
print(a)
print(b)
print(c)

# 空值
a = None
b = a
print(a)
print(b)

# 控制语句 三类:条件控制语句、循环语句、条件循环
# 条件控制语句
value = 1
if value == 1:
    print('This is true')
elif value > 20:
    print('is is bigger than 20?')
else:
    print('This is false')

# 循环语句
for i in range(5):
    print(i)

# 条件循环
i = 0
while i < 5:
    print(i)
    i = i + 1

# 复杂数据类型
# 元组:只读,元组的元素不能重新赋值
a = (1, 2, 3)
print(a)
print(a[1])

# 列表
a = [1, 2, 3]
print(a)
# add
a.append(4)
print(a)
print(a[3])
# 更新列表项
a[2] = 5
print(a)
for i in a:
    print(i)

# 字典:可变容器模型 key:value
mydict = {'a': 6.18, 'b': 'str', 'c': True}
print('A value:%.2f' % mydict['a'])
# add
mydict['a'] = 523
print('A value: %d' % mydict['a'])
print('keys:%s' % mydict.keys())
print('value:%s' % mydict.values())
for key in mydict:
    print(mydict[key])


# 定义函数
# 函数:可重复利用的 def()return
def mysum(x, y):
    return x + y


result = mysum(x=1, y=2)
print(result)

# Numpy速成
# 创建数组
import numpy as np

myarray = np.array([1, 2, 3])
print(myarray)
print(myarray.shape)

# 多维数据
myarray = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5]])
print(myarray)
print(myarray.shape)

# 访问数据
print('第一行数据:%s' % myarray[0])
print('最后一行:%s' % myarray[-1])
print('整列(3列)的数据:%s' % myarray[:, 2])

# pandas速成
# series:维数组:list
import pandas as pd

myarray = np.array([1, 2, 3])  # 值
index = ['a', 'b', 'c']  # 键
myseries = pd.Series(myarray, index=index)
print(myseries)
print('series的第2个元素:')
print(myseries.iloc[1])
print('series的c index的元素:')
print(myseries['c'])

# Dataframe:可以指定行和列的一维数组
myarray = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5]])  # 类型:(x y)
rowindex = ['row1', 'row2', 'row3']
colname = ['col1', 'col2', 'col3']
mydataframe = pd.DataFrame(data=myarray, index=rowindex, columns=colname)
print(mydataframe)
print('访问col3的数据')
print(mydataframe['col3'])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值