用python数据分析和机器学习
来源:互联网 发布:用友软件 编辑:程序博客网 时间:2024/04/29 13:04
python 基础
1.函数式编程
1.1 lambda 匿名函数
- 求列表中每个数字的平方
func = lambda x:x*xfunc(4)输出:16
1.2 map: 对一个序列的每个项依次执行函数
-将列表中每个元素都加2
a = [1,2,3,4]b = map(lambda x:x+2,a)print b输出:[3,4,5,6]
1.3reduce: 对一个序列的每个项迭代调用函数
(lambda x,y : x*y,range(1,5)): 24
1.4 filter 过滤器
filter(lambda x: x>5 and x<8,range(10))(6,7)
2.zip用法
name=('Tom','Jack','Mary','Harry')age=(2001,2002,2003,2004)for a,n in zip(name,age): print a,nTom 2001Jack 2002Mary 2003Harry 2004/************************************************/name=('Tom','Jack','Mary')age=(2001,2002,2003,2004)for a,n in zip(name,age): print a,nTom 2001Jack 2002Mary 2003/*************************************/name=('Tom','Jack','Mary')age=(2001,2002,2003,2004)a = zip(name,age)a[('Tom', 2001), ('Jack', 2002), ('Mary', 2003)]u = zip(*a)u[('Tom', 'Jack', 'Mary'), (2001, 2002, 2003)]
3.读写文件
- 读文件
with open("C:\\test.txt",'r') as f: str = f.read()print str
Python还提供了一个codecs模块帮我们在读文件时自动转换编码,直接读出unicode:
import codecswith codecs.open('C:\\test.txt', 'r', 'utf-8') as f: str = f.read() print str
2.使用字符串
字符串是不可变的
- find方法(在一个较长的字符串中查找子串,他返回子串所在位置的最左端索引,如果没有找到就返回-1
str = "Hello world"str.find("lo")3
- join
alist = [1,2,3,4]alist = map(repr,alist)s = "".join(alist)print s1234
- spilt(通过指定分隔符对字符串进行切片,默认为空格,如果参数num 有指定值,则仅分隔 num 个子字符串)返回list
print '1+2+3+4'.split('+')print '1+2+3+4'.split('+')
- replace()
str = "hello world"` s = str.replace('h','aaa') print str,s hello world aaaello world
- strip() (出去字符串两端字符)
print ' kkkk '.strip()kkkkprint '***!* sas * ss !***'.strip('!*') sas * ss
4.Numpy入门
- 创建数组
*range()返回的是列表,arange()返回的是ndarry*import numpy as npa = np.arange(4)print a[0 1 2 3]print a.shape(4L,) #多维数组:m = np.array([np.arange(2)],[np.arange(2)])print m [[0 1] [0 1]]np.zeros(3) 创建一个值全为0的数组np.eye(N) 、np.identity(N) 创建N*N的单位矩阵
- 索引和切片
a = np.arange(9)a[2:5]array([2, 3, 4])a[2:8:3]array([2, 5])a[:8:2]array([0,2,4,6])a[::-1]array([8,7,6,5,4,3,2,1,0])a[:-1][0 1 2 3 4 5 6 7]m = np.arange(15).reshape(3,5)print m[[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14]]print m[1:,2:][[ 7 8 9] [12 13 14]]
3.Numpy产生随机数(Numpy中的random模块可以生成连续分布函数的随机数也可以生成非连续的随机数)
生成正态分布的样本:
import numpy as npimport matplotlib.pyplot as pltN = 1000mu, sigma = 0, 0.1 #均值和标准差normal_values = np.random.normal(mu, sigma, size = N)plt.hist(normal_values, 30, normed=True)plt.show()
plt.hist()函数参数含义点这里
0 0
- 用python数据分析和机器学习
- python机器学习-异常数据分析
- Python数据分析与机器学习-Numpy
- 机器学习和数据分析的区别
- 机器学习和 数据分析的区别
- python数据分析(预测性分析与机器学习)
- Python vs R : 在机器学习和数据分析领域中的对比
- 大数据分析与机器学习领域Python兵器谱
- 大数据分析与机器学习领域Python兵器谱
- 大数据分析与机器学习领域Python兵器谱
- 大数据分析与机器学习领域Python兵器谱
- 大数据分析与机器学习领域Python兵器谱
- Python机器学习-数据分析系列(1)-引言
- Python机器学习与数据分析系列(2)-线性回归
- 「机器学习」Python数据分析之Numpy进阶
- 「机器学习」Python数据分析之Numpy
- 基于Python数据分析与机器学习案例实战教程
- Python机器学习(一)数据分析工具Pandas
- EventBus 用法详解
- CodeForces-714C - Sonya and Queries【状压 】
- 简单了解一下ndnSIM中的APP
- Eclispe配置JDK
- php开发规范1
- 用python数据分析和机器学习
- 【MongDB】NoSQL了解,初识MongDB
- 从SetTimer看Windows消息处理机制
- 数据结构实验之排序二:交换排序
- 最大流建图+拆点
- 后台分页控件重复查询数据问题
- 享受一下mvn时飞的感觉
- CocoaPod常用指令总结
- 事件分发机制