1.Python以其開發效率著稱,致力用最短的代碼完成,但是開發效率並不高,被稱為“膠水語言”。含義是耗時的核心代碼用C/C++等更高效的語言編寫,然后用python來粘合,以此來解決python的運行效率問題。但在數據任務上,python的運行效率和C/C++已經差不多了。
2.python基本命令自己要注意的幾點:
print u'a不等於1' #在輸出中文前可以加上u
3.python中的數據結構
4個內建的數據結構:List、Tuple、Dictionary、Set,可以統稱為容器。
容器里面是什么都行,元素類型不要求相同。 c = [1,2,'a',[3,4]]
list & tuple:
都是序列結構,很相似,但也有不同。
列表可以被修改[],但是元組不可以()
a=[1,2,3] b=(1,2,3)
a[0] = 0 表示將列表a下標為0的修改為0
b[0] = 0 會報錯,因為元組不可以被修改
當想復制列表a時,不能僅僅使用 c = a,這樣c僅為a的別名,當對c改變時,a也會變。
正確方式: c = a[:] 復制且不影響a
共用函數: cmp(a, b) min(a) len(a) max(a) sum(a) sorted(a)
列表相關的方法:
a.append(1)--將1加到列表a的末尾
a.count(1)--統計列表a中1出現的次數
a.extend([1,2])--將[1,2]追加到列表a末尾
a.index(1)--從列表a中找到第一個一的索引位置
a.insert(2,1)--將1插入列表a索引為2的位置
a.pop(1)--移除列表a中索引為1的元素
!!列表解析!
a = [1, 2, 3]
b = [i+2 for i in a]
dictionary 字典:
映射 列表 索引自己定義 key-value
d = {'a':1, 'b':2} ----- d['a']
dict([['a', 1], ['b', 2]])
set 集合:
元素不重復,無序,不支持索引
s = {1, 2, 2, 3} --- 自動去重
s = set([1, 2, 2, 3])
函數式編程: lambda() map() reduce() filter()
lambda() --行內函數
map() -- 先定義一函數,然后用map()命令將函數逐一運用到列表中每個元素,返回一個數組 -- map(lambda x,y:x*y, a, b)
map()函數實現循環命令速度相當於C語言。
而列表解析仍未python中的for循環
reduce() -- 遞歸運算
reduce(lambda x,y: x*y, range(1,n+1))
filter() --- 過濾
b = filter(lambda x: x>5 and x<8, range(10))
python數據分析工具:
Numpy Scipy Matplotlib Pandas Scikit_Learn Kares Gensim