這里機器學習采用的是python2.7.13版本,安裝了numpy庫,和matplotlib庫。
入門工作主要分為三部分:
一、python基礎語法
推薦幾個學習基礎語法的網(wǎng)站
http://lib.csdn.net/base/11
http://www.cnblogs.com/moomu/archive/2011/11/11/2245928.html
http://www.runoob.com/python/python-basic-syntax.html
作者這里只是按照《python數(shù)據(jù)分析與挖掘實戰(zhàn)》中的python使用入門簡單學習了基礎的語法。
'''
python 基本命令
'''
print("hello world!")
print(1+2)
a=2
#冪次計算
print(a ** 3)
#for 循環(huán) 1+2+3..+100
s = 0
for k in range(101):
s=s+k
print(s)
#while循環(huán)
s = 0
k = 0
while k<101:
k=k+1
s=s+k
print(s)
#if 條件
s=0
if s in range(4):
print('不在')
if s not in range(4):
print('在')
#def 定義函數(shù)
def add2(x=2,y=0):
return x+2,y+2
print(add2())
#lambda 行內(nèi)函數(shù)
x=y=2
f= lambda x:x+2
g= lambda x,y:x+y
print(f(x),g(x,y))
#列表
aa=[1,2,3]
bb=[]
cc=[i+2 for i in aa]
for i in aa:
bb.append(i+2)#a.append(1)把1 添加到列表a的末尾
print(bb,cc)
print(bb.count(3))#統(tǒng)計列表中a中元素3出現(xiàn)的次數(shù)
#字典,自編下標
d={'I':20,'YOU':30}
print(d['I'],d['YOU'])
print(dict([['today',20],['tomorrow',30]]))
#集合 元素不重復 無序,不支持索引
s={1,2,2,3}#自動去重復
print(s)
t= set([1,2,2,3,3,4,5])#將列表轉化為集合
print(t,min(s),max(s),sum(s),sorted(s),len(s))
#len()集合的基數(shù),sorted(s),對其中的元素進行排序
print(t|s,t&s,t-s,t^s)#并,交,差,對稱差集(項在t或s中,但不同時出現(xiàn))
二、Numpy庫的使用
這里介紹本書:《Python數(shù)據(jù)分析基礎教程:Numpy學習指南(第2版)》此書介紹的較為詳細。
作者這里只是簡略的學習了一下
'''
numpy的基本操作
'''
#0,1,2的平方和立方分別相加
def numpysum(n):
a = ny.arange(n) ** 2
b = ny.arange(n) ** 3
c = a + b
return c
print(numpysum(3))
a=ny.array([2,0,1,5])#創(chuàng)建數(shù)組
print(a)
print(a[:3])#引用前三個數(shù)字(切片)
print(a.min())
a.sort()#直接修改a,將a的元素從小到大排序
print(a)
b=ny.array([[1,2,3],[4,5,6]])#創(chuàng)建二維數(shù)組
print(b*b)#輸出數(shù)組的平方陣
三、Matplotlib庫的使用
Matplotlib庫使用較為全面介紹的一個指導網(wǎng)站
http://old.sebug.net/paper/books/scipydoc/matplotlib_intro.html
Matplotlib庫一般是不允許輸出中文的,為了拾起能夠在圖標中輸出漢字,我們需要修改一些文件。
找到配置文件matplotlibrc??梢杂胑verything搜索這個文件。例如我的在D:\Program Files (x86)\python\Lib\site-packages\matplotlib\mpl-data\matplotlibrc路徑下。
用文本編輯器打開matplotlibrc文件。
找到font.family一行,將前面的注釋號去掉。
找到font.sans-serif一行,將前面的注釋號去掉。
在font.sanc-serif后面的值中添加一個中文字體名。我添加的是Microsoft YaHei(微軟雅黑),添加后如下:
font.sans-serif : Microsoft YaHei,, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
或者是在代碼中加入
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
之后,需要加一個u即可例如:xlabel(u"text for x軸")
'''
Matplotlib作圖
'''
x=ny.linspace(0,10,1000)#作圖的變量自變量
y=ny.sin(x)+1#因變量y
z=ny.cos(x**2)+1#因變量z
plt.figure(figsize=(8,4))#設置圖像大小
plt.plot(x,y,label='$\sin x+1 $',color='red',linewidth=2)#作圖,設置標簽,線條顏色,線條大小
plt.plot(x,z,'b--',label='$\cosx^2+1$')#作圖,設置標簽、線條類型
plt.xlabel('Time(s) ')#x軸名稱
plt.ylabel('Volt')#y軸名稱
plt.title('A Simple Example')#標題
plt.ylim(0,2.2)#顯示的y軸范圍
plt.legend()#顯示圖例
plt.show()#顯示作圖結果