數據分析定義,參考維基百科。
數據分析基本步驟:
明確目的思路、數據收集、數據處理、數據分析、數據展現。
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