亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Python數據分析-基礎技術篇

難度初級
時長 2小時42分
學習人數
綜合評分8.40
77人評價 查看評價
9.0 內容實用
8.1 簡潔易懂
8.1 邏輯清晰
  • #預處理
    from?sklearn.datasets?import?load_iris
    iris?=?load_iris()
    from?sklearn.cross_validation?import?train_test_split
    train_data,?test_data,?train_target,?test_target?=?train_test_split(iris.data,?iris.target,?\
    test_size=0.2,?random_state=1)?#劃分訓練集與驗證集
    
    #建模:分類器
    from?sklearn?import?tree
    clf?=?tree.DecisionTreeClassifier(criterion="entropy")
    clf.fit(train_data,?train_target)
    y_pred?=?clf.predict(test_data)
    
    #驗證
    from?sklearn?import?metrics
    print(metrics.accuracy_score(y_true=test_target,y_pred=y_pred)?#準確率
    print(metrics.confusion_matrix(y_true=test_target,y_pred=y_pred))?#混淆矩陣:橫軸實際,縱軸預測
    
    #結果輸出到文件
    with?open("","w")?as?fw:
    ????tree.export_graphviz(clf,?out_file=fw)


    查看全部
  • #定義時間序列
    s?=?pd.Series([i*2?for?i?in?range(1,11)])
    
    dates?=?pd.date_range("20170301",periods=8)?#從20170301開始的8天
    #第一種定義表的方式:8行5列,索引值(行名)是dates,屬性值(列名)是A~E
    df?=?pd.DataFrame(np.random.randn(8,5),index=dates,columns=list("ABCDE"))
    
    #第二種定義表的方式:
    df.DataFrame({"A":1,"B":pd.Timestamp("20170301"),"C":pd.Series(1,index=list(range(4)),dtype="float32"),\
    "D":np.array([3]*4,dtype="float32"),"E":pd.Categorical(["police","student","teacher","doctor"])})
    
    print(df.head(3))?#打印前三行
    print(df.tail(3))?#打印后三行
    print(df.index)
    print(df.values)?#打印結果是數組
    print(df.T)?#索引和屬性互換
    print(df.sort(columns="C"))
    print(df.sort_index(axis=1,ascending=False))?#對列索引(axis=1-->屬性值)進行降序排序
    print(df.describe())?#打印出count、mean、std、min、max、25%、50%、75%
    
    #切片
    print(df["A"])?#A列
    print(df[:3])?#前三行
    print(df["20170301":"20170304"])
    print(df.loc[dates[0]])
    print(df.loc["20170301":"20170304",["B","D"]])
    print(df.at[dates[0],"C"])
    print(df.iloc[1:3,2:4])
    print(df.iloc[1,4])
    print(df.iat[1,4])
    print(df[df.B>0][df.A<0])
    print(df[df>0])?#小于0的返回NaN
    print(df[df["E"].isin([1,2])])
    
    #設置
    s1?=?pd.Series(list(range(10,18)),index=pd.date_range("20170301",periods=8))
    df["F"]?=?s1
    df.at[dates[0],"A"]=0
    df.loc[:,"D"]?=?np.array([4]*len(df))
    
    #拷貝
    df2?=?df.copy()
    df2[df2>0]?=?-df2
    print(df2)
    
    #缺失值處理
    df1?=?df.reindex(index=dates[:4],columns=list("ABCD")+["G"])
    df1.loc[dates[0]:dates[1],"G"]?=?1
    print(df1.dropna())?#刪除缺失值所在行
    print(df1.fillna(value=2))?#缺失值填充2
    
    #統計指標
    print(df.mean())?#每列的平均值
    print(df.var())
    s?=?pd.Series([1,2,3,np.nan,5,7,9,10],index=dates)
    print(s.shift(2))?#所有值后移兩位,前兩位補NaN,多的值刪除
    print(s.diff())?#不填表示一階,填的數字表示多階
    print(s.calue_counts())?#每個值出現的次數
    print(df.apply(np.cumsum))
    print(df.apply(lambda?x:x,max()-min()))
    
    #表的拼接
    pieces?=?[df[:3],df[-3:]]
    left?=?pd.DataFrame({"key":["x","y"],"value":[1,2]})
    right?=?pd.DataFrame({"key":["x","z"],"value":[3,4]})
    print(pd.merge(left,right,on="key",how="left"))?#how="inner":所有缺失值都刪掉;"outer"所有缺失值都保留
    df3?=?pd.DataFrame({"A":["a","b","c","b"],"B":list(range(4))})
    print(df3.groupby("A").sum())?#將A列每種屬性值求和


    查看全部
    1. numpy:數據結構基礎

    2. scipy:強大的科學計算方法(矩陣分析、信號分析、數理分析....)

    3. matplotlib:豐富的可視化套件(三維圖、餅圖、可視圖等)

    4. pandas:基礎數據分析套件(表)

    5. scikit-learn:強大的數據分析建模庫(回歸分析 、聚類分析)

    6. keras:人工神經網絡


    查看全部
    0 采集 收起 來源:概述

    2018-07-23

  • 數據分析用的各種包

    查看全部
    0 采集 收起 來源:初識numpy

    2018-07-20

  • 1
    查看全部
  • #numpy技巧
    concatenate((lst1,?lst2),?axis=0)?#橫向追加
    hstack((lst1,?lst2))?
    vstack((lst1,?lst2))?#縱向追加
    split(lst1,?4)?#把lst1數組分成4份
    solve(x,?y)?#x*b=y,解方程得b?
    
    #matplotlib繪圖
    import?numpy?as?np
    import?matplotlib.pyplot?as?plt
    x?=?np.linspace(-np.pi,?np.pi,?256,?endpoint=True)
    c,?s?=?np.cos(x),?np.sin(x)
    plt.figure(1)
    plt.plot(x,?c,?color="blue",?linewidth=1.0,?line,?label="COS",?alpha=0.5)
    plt.plot(x,?s,?"r*",?label="SIN")?#紅色*
    plt.title("COS?$?SIN")
    ax?=?plt.gca()?#軸的編輯器
    ax.spines["right"].set_color("none")?#隱藏上、右兩個外框
    ax.spines["top"].set_color("none")
    ax.spines["left"].set_position(("data",0))?#將下、左兩個外框設置到數據域的0位置
    ax.spines["bottom"].set_position(("data",0))
    ax.xaxis.set_ticks_position("bottom")?#坐標軸的數字顯示在橫軸下面和縱軸左面
    ax.yaxis.set_ticks_position("left")
    #設置坐標軸[標識的位置],?[標識的內容]
    plt.xticks([-np.pi,?-np.pi/2,?0,?np.pi/2,?np.pi],?[r'$-\pi$',?r'-\pi/2$',?r'$0$',?r'$+\pi/2$',?r'$+\pi$']
    plt.yticks(np.linspace(-1,?1,?5,?endpoint=True))
    for?label?in?ax.get_xticklabels()+ax.get_yticklabels():
    ????label.set_fontsize(16)
    ????label.set_bbox(dict(facecolor="white",?edgecolor="None",?alpha=0.2)?#facecolor背景顏色,edgecolor邊緣顏色,alpha透明度
    plt.legent(loc="upper?left")
    plt.grid()
    plt.axis([-1,?1,-0.5,?1)?#設置顯示范圍
    plt.fill_between(x,?np.abs(x)<0.5,?c,?c>0.5,?color="green",?alpha=0.25)?#填充功能
    #c>0.5時才填充,且填充的范圍是|x|<0.5與c之間。|x|<0.5時-->1,填充c到1之間;|x|>=0.5時-->0,填充0到c之間
    t=1
    plt.plot([t,?t],?[0,?np.cos(t)],?"y",?linewidth=3,?line)?#添加注釋(y代表黃色)
    plt.annotat("cos(1)",?xy=(t,?np.cos(1)),?xycoords="data",?xytxt=(+10,?+30),?textcoords="offset?points",?arrowprops=dict(arrow,?connection))?#
    plt.show()
    
    #matplotlib繪制散點圖
    fig?=?plt.figure()
    ax?=?fig.add_subplot(3,?3,?1)
    n?=?128
    X?=?np.random.normal(0,?1,?n)
    Y?=?np.random.normal(0,?1,?n)
    T?=?np.arctan2(Y,?X)
    #plt.axes([0.025,?0.025,?0.95,?0.95])
    ax.scatter(X,?Y,?s=75,?c=T,?alpha=0.5)?#s:size,c:color
    plt.xlim(-1.5,?1.5),?plt.xticks([])
    plt.ylim(-1.5,?1.5),?plt.yticks([])
    plt.axis()
    plt.title("scatter")
    plt.xlabel("x")
    plt.ylabel("y")
    plt.show()
    查看全部
    0 采集 收起 來源:基本線圖繪制

    2018-07-12

    1. numpy:數據結構基礎

    2. scipy:強大的科學計算方法(矩陣分析、信號分析、數理分析....)

    3. matplotlib:豐富的可視化套件(三維圖、餅圖、可視圖等)

    4. pandas:基礎數據分析套件(表)

    5. scikit-learn:強大的數據分析建模庫(回歸分析 、聚類分析)

    6. keras:人工神經網絡

    7. 科學計算工具Anaconda

    查看全部
    0 采集 收起 來源:概述

    2018-07-11

  • #keras數據分析官網:

    http://keras.io/


    查看全部
    0 采集 收起 來源:認識Keras

    2018-07-08

  • #scikit-learn數據分析官網:

    http://scikit-learn.org/


    查看全部
    0 采集 收起 來源:認識scikit-learn

    2018-07-08

  • #pandas數據分析官網:
    http://pandas.pydata.org/?

    查看全部
    0 采集 收起 來源:認識pandas

    2018-07-08

  • #matplotlib畫圖功能
    #line
    impor?numpy?as?np
    def?main():
    ????import?matplotlib.pyplot?as?plt
    ????x=np.linspace(-np.pi,np.pi,256,endpoint=Ture)
    ????c,s=np.cos(x),np.sin(x)
    ????plt.figure(1)
    ????plt.plot(x,c,color="blue",linewidth=1.0,line,label="COS",alpha=0.5)
    ????plt.plot(x,s,"r*",label="SIN")
    ????plt.title("COS&SIN")
    ????ax=plt.gce()
    ????ax.spines["right"].set_color("none")
    ????ax.spines["top"].set_color("none")
    ????ax.spines["left"].set_position(("data",0))
    ????ax.spines["bottom"].set_position(("data",0))
    ????ax.xaixs.set_ticks_position("bottom")
    ????ax.yaxis.set_ticks_position("left")
    plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$,r'$-\pi/2$,r'$0$,r'$+\pi/2$,r'$+\pi$'])
    plt.yticks(np.linspace(-1,1,5,endpoint=Ture))
    for?lable?in?ax.get_xtickelables()+ax.get_yticklable():
    ????lable.set_fontsize(16)
    ????lable.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))
    ?plt.legend(loc="upper?left")
    ?plt.grid()
    ?plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="green",alpha=0.25)
    ?t=1
    ?plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle='--')
    ?plt.annotate("cos(1)",xy=(t,np.cos(1),xycoords="data",xytext=(+10,+30),textcoords="offset?points",arrowprpos=(arrow,connectionstule="arc3,rad=.2")
    ????plt.show()
    if?__name__=="__main__":

    ?

    查看全部
    0 采集 收起 來源:基本線圖繪制

    2018-07-08

  • #matplotlib畫圖功能
    #bar
    def?main():
    import?matplotlib?pyplot?as?plt
    fig.add_subplot(332)
    n=10
    X=np.arange(n)
    Y1=(1-X/float(n)*np.random.uniform(0.5,1.0,n)
    Y2=(1-X/float(n)*np.random.uniform(0.5,1.0,n)
    plt.bar(X,+Y1,facecolor='#9999ff',edgecolor='white')
    plt.bar(X,-Y2,facecolor='#ff9999',edgecolor='white')
    for?x,y?in?zip(X,Y1):
    ????plt.text(x+0.4,y+0.05,'%2f'%y,ha='center',va='bottom')
    ????plt.text(x+0.4,-y-0.05,'%2f'%y,ha='center',va='bottom')
    ????plot.show()
    ??if_name_=="_main_";
    main()

    ?

    查看全部
  • #matplotlib?畫圖功能
    #?scatter
    def?main():
    import?matplotlib?pyplot?as?plt
    fig=plt.figure()
    fig.add_subpolt(3,3,1)
    n=128
    X=np.random.normal(0,1,n)
    Y=np.random.normal(0,1,n)
    T=np.arctan2(Y,X)
    plt.axes([0.025,0.025,0.95,0.95])
    plt.scatter(X,Y,s=75,c=T,alpha=.5)
    plt.xlim(-1.5,1.5),plt.xticks([])
    plt.ylim(-1.5,1.5),plt.yticks([])
    plt.axis()
    plt.title("scatter")
    plt.xlabel("x")
    plt.ylable("y")
    plt.show()
    if_name_=="_main_";
    main()

    ?

    查看全部
  • 快樂
    查看全部
    0 采集 收起 來源:pandas基本操作

    2018-06-11

  • python之數據分析概述:

    python數據分析大家族:

    ① numpy:數據結構基礎

    ② scipy:強大的科學計算方法(矩陣分析、信號分析、數理分析....)

    ③ matplotlib:豐富的可視化套件(三維圖、餅圖、可視圖等)

    ④ pandas:基礎數據分析套件(表)

    ⑤ scikit-learn:強大的數據分析建模庫(回歸分析 、聚類分析)

    ⑥ keras:人工神經網絡?



    查看全部
    5 采集 收起 來源:概述

    2018-05-26

舉報

0/150
提交
取消
課程須知
需要對python語法和基本數據結構有所了解,對數據分析感興趣!
老師告訴你能學到什么?
1、數據分析的一般步驟 2、numpy簡介與基本使用 3、matplotlib簡介與基本使用 4、scipy簡介與基本使用 5、pandas簡介與基本使用 6、機器學習的一般概念 7、scikit-learn的簡介、使用示例與學習方法 8、keras的簡介與一般用法

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!