数据分析定义,参考维基百科。
数据分析基本步骤:
明确目的思路、数据收集、数据处理、数据分析、数据展现。
IDE方面:Pycharm最优的选择。(深度学习框架装在Anaconda下面即可,Pycharm可直接共享使用。)
开发环境总结:
1)Anaconda 安装深度学习框架,可写代码,但调试很不方便。
2)Jupyter Notebook 演示和分享。
3)Ipython 验证思路。
4)Pycharm 编写完整项目,调试非常方便。
环境方面,python2与3的区别:
1)from __future__ import print_function
2)编码问题 (3比2好很多)
使用python2,在编码方面的建议是:
1)设置文件编码方式;
2)文件头部指定的编码方式与文件保存的编码方式一致;
3)尽量是用UTF-8。
python基础:
大部分python对象是可变的,字符串和元组是不可变的;
continue结束本次循环,break结束整个循环;
异常处理:(try except用法示例)
def divide(x, y):
try:
return x/y
except:
return 'error happens.'
print divide(8, 2)
print divide('8', 2)
range和xrange的区别:两个功能一致。xrange效率高于range,range()会得到列表,而xrange只是一个迭代器,不会显示列表,但可以直接使用。示例:
range(1, 20, 2) 输出:[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
xrange(1, 20, 2) 输出:xrange(1, 21, 2)
列表、字典传参和变量传参的不同:列表、字典会被改变,变量的值不会变(变量复制、传参是值传递,列表、字典的传参是传引用)。示例:
def fun1(a):
a = 2
print a
b = 3
fun1(b)
print b
输出为2,3。
l_1 = [1, 2, 3]
l_2 = l_1
l_1.append(4)
print l_1
print l_2
输出为[1, 2, 3, 4],[1, 2, 3, 4]。
def fun2(lst):
lst[0] = 5
print lst
lst1 = range(5)
print lst1
fun2(lst1)
print lst1
输出为[0, 1, 2, 3, 4],[5, 1, 2, 3, 4],[5, 1, 2, 3, 4]。
python数据结构:
1)元组
2)列表
3)字典
4)集合
python高级特性:
推导式
1)列表推导式
示例:X=[x for x in Y if x>0]
2)字典推导式
3)集合推导式
4)嵌套列表推导式
函数列表
匿名函数 lambda
生成器 generator
python高阶函数
函数式编程
map/reduce
filter
网友评论