一、Python基础语法
1.变量类型
int 整型
float 浮点数
string 字符串
print(type(a)) 查看a的数据类型
2.基础数学运算
/ 除
% 模量(求余)
** 求指数(求方)
roung(a,6) 对a取整,保留6位数
3.Python基础语法
输出 print(a) print(a,b,c)
缩进代替括号的包含关系
多个语句写到一行要用 ;分隔
不必要运行的代码前加 # 跳过
4.Python中常用的数据结构
(1)list 列表 l=[a,b,c,d]
l[i] #列表的第i+1个元素
l.append(e) #在列表l中加入元素e
l.extend([5,3.4,"uy"]) #列表中加入一组元素
l.insert(2,要插入的内容) #在第三个位置插入内容
l.remove(元素) #移除l中的某个元素
del l[i] #移除l中第i+1个元素
l.pop(i) #移除l中第i+1个元素
l.+tap键 #查看其他指令
b=a.copy() #b为a的copy,修改b不影响a
print(l[1][1]) #输出列表l第二个元素中的第二个元素
(2)tuple 元组
a=(1,5,"re",5)
print(a[2]) #输出元组a中的第3个元素
(3)dictionary 字典
d={"Name":"Jam","Job":"Teacher"}
print(d["Job"]) #输出对应的内容,例如Teacher
d["age"]=35 #在原有字典基础上加入一组
del d["age"] #删除字典中某一组
(4)set([ ]) 保留输入的数据中独一无二的元素
5. Python中的比较算法
!= 不等于
== 等于
逻辑运算 or and not
if + 判断的条件 if、else后面必须加:
6. 循环语句
while
if
(1)for 可进行嵌套
(2)break语句 终止循环
(3)continue 跳出,直接进入下一循环
二、Python常用知识
1.Python函数
def 函数名称(变量1,变量2,变量3,……)
因变量 = 变量1,变量2等之间的运算
return 因变量
print (函数名称(对应变量赋值))
def max(a,b):
if a>b:
return(a)
else:
return(b)
2.文件的读写
(1)只读
file=open("路径+文件名",“r”)
print(file.read(n)) #只读前n个元素
file.close() #读后要close,否则不能操作源文件
print(file.readline()) #按行读取
print(file.readlines()) #读取所有行
(2)写入
file=open("路径+文件名","w")
file.write("要写入的内容")
file.close()
(3)写入但不覆盖原文件的内容
file=open("路径+文件名","a")
file.write("要写入的内容")
file.close()
3.Python的模块
定义某函数的一个新名称,便于调用
import+模块名称
模块名称.函数名称
又可form+模块名称 import 函数名称 as 简称
import numpy as np
三、numpy与数据分析
1.numpy的生成与属性查看
import numpy as np #载入numpy包
a=np.array([1,2,3,4]) #生成1*4或者4*1的矩阵
b=np.array([[1,2,3,4]]) #生成1*4的矩阵
c=np.array([1,2,3,4],[4,3,2,1]) #生成对应元素的矩阵
b.size #显示b中包含的元素数
b.shape #显示b中元素的分布情况(例如b矩阵的规格)
b.ndim #显示b的维度
2.向量和矩阵的生成
(1)生成向量
np.arange(10) #生成0,1,……,9
np.linspace(0,10,20) #0到10之间平均生成20个数
(2)矩阵的生成
temp=np.zeros((5,5)) #生成5×5的零阵
temp=np.ones((5,5)) #生成5×5的一阵
temp=np.random.rand(4,5) #生成0到1之间随机均匀分布的4×5的矩阵
temp=np.random.rand() #生成一个随机数
temp=np.random.randn(7,5) #生成高斯分布矩阵
矩阵之间可进行简单的加、减运算
(3)矩阵运算
np.dot(a,b) #a,b矩阵的乘法
a.T #求矩阵a的转置
矩阵的拼接
np.vstack([a,b]) #在垂直方向上拼接
np.concatenate((a,b),axis=0)
np.hstack([a,b]) #在水平方向上拼接
np.concetenate((a,b),axis=1)
矩阵变形
np.reshape(a,(3,1)) #将矩阵a改写为3×1的矩阵(元素相同的才能改写)
(4)向量和矩阵的索引
向量索引
print(a[0]) #输出第一个元素
print(a[0:3]) #输出第一个到第三个元素
print(a[1:3]) #输出第二个到第三个元素
print(a[3:]) #输出第四个及后面所有的元素
print(a[:3]) #输出前三个元素
print(a[1:-1]) #-1表示倒数第二个元素
矩阵索引
print(b[2,0]) #第三行第一列的元素
print(b[2][0])
print(b[3]) #输出第四行的元素
print(b[3,:])
print(b[:,3]) #输出第四列的元素
print(b[1:3]) #输出第二到三行的元素
3.Numpy常用计算
np.log(a) #求log(a)
np.max(a) #求最大值
np.mean(a) #求平均值
np.std(a) #求标准差
np.sin(a) #求sin正弦
np.exp(a) #求e的a次方
np.abs(a) #求绝对值
np.argmax(a) #求最大值的索引
np.argmin(a) #求最小值的索引
四、Pandas和Matplotlib
1.Pandas 数据分析
import pandas as pd #导入Pandas包
(1)生成对应的列表
data=pd.DataFrame([1,"abc",3,4.5]) #列表对应的内容
data.columns=["number"] #列表的题目
data.index=["a","b","c","d"] #列表的目录
data #放出来看一看
(2)导入文件
data=pd.read_csv("路径+文件名称") #导入数据
data.to_csv("文件名(原文件或新文件)") #存入数据
查看数据
文件名.index #索引的个数及步长
文件名.columns #每列的索引
文件名.head(n) #文件的前n行
文件名["某一列索引"] #提出文件中的某一列
文件名.loc[3,"Job"] #提出第三行的“Job”列
文件名.iloc[3:5,0:1]
(3)数据预处理
建立数据连接
pd.read_csv("文件名")
pd.concet([文件1,文件2]) #NaN也会被贴进来
文件1.append([文件2,文件3]) #将文件2和文件3贴入文件1
进行数据清洗(清洗掉文件中的NaN的情况)
data.isnull()
data.dropna() #将含有NaN的行删掉
data.fillna(0) #将NaN的格子清洗为0
(4)常用函数
文件名.drop(r) #drop其中的第r行
文件名["Age"].sum() #求和
文件名["Age"].mean() #求平均值
文件名["Age"].std() #标准差
文件名["Age"].argmax() #求最大值索引
文件名["Age"].argmin() #求最小值索引
文件名.sort_values(by="Age") #根据从小到大或首字母排序
文件名["Job"].unique() #提取出独立不同分类的名称
文件名["Age"].values #将清洗后的元素提取出来
文件名["Job"].describe() #对此列进行统计,包括平均值、最大、最小值
2.Matplotlib代码作图
导入安装包
import matplotlib.pyplot as plt
(1)做一张图
plt.plot(x,y) #做出x,y的图像
plt.legend()
plt.xlabel("x") #标注x轴
plt.ylabel("y") #标注y轴
plt.xlim(0,5) #x轴上取值0到5
plt.ylim(0,5) #y轴上取值0到5
plt.title("名称") #标注图像名称
plt.grid(True) #标注网格线
plt.show()
(2)一张图上展示多张小图
plt.figure()
plt.subplot(1,2,1) #一行两列的大图中的第一个图
plt.plot(x,y1,"r-") #图片的变量及颜色
plt.subplot(1,2,2) #一行两列第二个图
plt.plot(x,y2,"b--")
(3)色带作图
m=np.zeros([100,100,3]) #绘制白底
m[10:20,:,:]=255 #指定色带颜色
m[:,30:50,0:2]=255
plt.inshow(m)