人工智能算法之python基础

一、numpy函数

别人整理的numpy函数大全
重点
1.ndarray

  • csv文件读取和操作

  • 用各种routines创建各种样式的ndarray

  • 人工智能算法之python基础_第1张图片

2.ndarray的四种属性

  • ndim:维度
  • shape:形状
  • size:总长度
  • dtype:元素类型

3.操作
把任何东西,图片、音频、视频等当作矩阵看待,用矩阵运算去处理它

  • 索引
  • 切片 n[::-1]反转第一个维度反转和第二个维度反转操作不同
  • 变形reshape函数
  • 级联垂直级联/水平级联****concatenate
  • 切分split
  • 聚合操作n.sum(axis=0/1)
    人工智能算法之python基础_第2张图片
    nan表示这个函数可以带nan一起玩儿
  • 矩阵操作 矩阵积np.dot()

4.ndarray广播机制

二、pandas

  1. series:由ndarray创建的series是引用,由list创建的series是副本
    series中的索引与切片
    -显式索引.loc() 隐式索引.iloc()
    可以套两层中括号
    显式切片/隐式切片

    2…DataFrame
    表格型数据结构,是一个series的字典。可以分块创建,也可以字典创建

  • 列索引column
  • 行索引index
  • 值value

切片
人工智能算法之python基础_第3张图片
dataframe和dataframe之间的运算,全部行列索引一致才会相加,不一致补nan

dataframe和series之间的运算
add:使用axis参数改变运算的方向(默认是)
人工智能算法之python基础_第4张图片
3.处理丢失数据
数据预处理时经常进行的操作
两种丢失数据:None/np.nan
判断是否有空数据:
axis=0行 =1列

df.isnull.any(axis=0)

过滤空数据:dropna(axis=0,how=‘all/any’)
填充函数:fillna(value=)
fillna(axis=/method=/inplace=)

4.创建层级索引
series和dataframe都可以创建多层索引
数组/tuple/product

多层索引数组的索引和切片:不能跨层索引

三、matplotlib作图

别人的博客讲的超好了

四、文件读取与数据处理操作

1.文件读取

with open(file_path) as file_project:

2.按行处理

for line in file_object:
##rstrip是把右边的空字符删掉,类似的操作还有strip和lstrip
	print(line.rstrip())

3.把读取的行存进一个数据矩阵中

def filematrix(filename)
	fr=open(filename)
	arrayOfLines=fr.readlines()
	numberOflines=len(arrayOfLines)
	##知道了数据条目的数量,创建空矩阵来存储
	returnMat=zeros((numberOfLines,3))
	##用一个向量存储Labels
	classLabelVector=[]
	for line in arrayOfLines:
		##去掉空字符
		line=line.strip()
		##每一行用tab分割成一个元素列表
		listFromLine=line.split('/t')
		returnMat[index,:]=listFromLine[0:3]
		##-1在python里表示最后
		classLabelVector.append(int(listFromLine[-1])
		index+=1
	return returnMat,classLabelVector

一些格式方面的处理、字典、元祖、列表、切片等在此不再赘述,可以自行查阅python的字符处理函数

你可能感兴趣的:(AI,python,人工智能,算法)