Pythonデータ分析-基礎技術(継続ing)

29599 ワード

文書ディレクトリ
  • 第1部Pythonデータ分析概要
  • 第2部numpy
  • 第3部matplotlib
  • 第4部scipy
  • 第5部pandas
  • 第6部scikit-learn
  • 第7部keras


  • 第一部Pythonデータ分析の概要
  • データ分析の意味と目標
  • 方法:統計分析方法
  • 用途:有用な情報を抽出する
  • 研究、要約、総括
  • Pythonデータ分析パッケージ
  • numpy:データ構造基盤
  • scipy:強力な科学計算方法(マトリクス分析、信号分析、数理分析など)
  • matplotlib:豊富なビジュアル化キット
  • pandas:基礎データ分析キット
  • scikit-learn:強力なデータ分析モデリングライブラリ
  • keras:人工神経ネットワーク

  • 第2部numpy
    numpy
    第3部matplotlib
    第4部scipy
    第5部pandas
    pandas公式ドキュメント
    """
    1、data structure
    """
    #       
    s = pd.Series([i*2 for i in range(1, 11)])
    print(type(s))
    dates = pd.bdate_range("20190909", periods=8)
    df = pd.DataFrame(np.random.randn(8, 5), index=dates, columns=list("ABCDE"))
    print(df)
    
    """
    2、    
    """
    #      
    print(df.head(3))
    #      
    print(df.tail(3))
    #     
    print(df.index)
    #    
    print(df.values)
    #     
    print(df.T)
    #     ,   C  
    print(df.sort_values("C", inplace=False))
    #   index   ,  
    print(df.sort_index(axis=1, ascending=False))
    #    max、min 
    print(df.describe())
    
    # select
    print(type(df["A"]))
    print(df[:3])
    print(df["20190909":"20190912"])
    print(df.loc[dates[0]])
    print(df.loc["20190909":"20190912", ["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])
    print(df[df["E"].isin([1, 2])])
    

    Dataframeマルチカラムデータフィルタ
    # set
    #    !!!!!!!!!
    index = pd.date_range("20190909", periods=8)
    s1 = pd.Series(list(range(10, 18)).index(index))
    print(s1)
    
    df["F"] = s1
    print(df)
    df.at[dates[0], "A"]
    print(df)
    df.iat[1, 1] = 1
    df.loc[:, "D"] = np.array([4]*len(df))
    print(df)
    df2 = df.copy()
    df2[df2 > 0] = -df2
    print(df2)
    
    """
    3、     
    """
    df1 = df.reindex(index=dates[:4], columns=list("ABCD")+["G"])
    df1.loc[dates[0]:dates[1], "G"] = 1
    print(df1)
    #   
    print(df1.dropna())
    #   
    print(df1.fillna(value=1))
    
    """
    4、         
    """
    #   
    print(df.mean())
    #   
    print(df.var())
    s = pd.Series([1, 2, 4, np.nan, 5, 7, 9, 10], index=dates)
    print(s)
    #          ,        
    print(s.shift(2))
    print(s.diff())
    #        Series      
    print(s.value_counts())
    print(df.apply(np.cumsum))
    print(df.apply(lambda x:x.max()-x.min()))
    
    #     
    pieces = [df[:3], df[-3:1]]
    print(pd.concat(pieces))
    left = pd.DataFrame({
         "key": ["x", "y"], "value": [1, 2]})
    right = pd.DataFrame({
         "key": ["x", "z"], "value": [3, 4]})
    print("LEFT: ", left)
    print("RIGHT: ", right)
    print(pd.merge(left, right, on="key", how="left"))
    print(pd.merge(left, right, on="key", how="inner"))
    print(pd.merge(left, right, on="key", how="outer"))
    df3 = pd.DataFrame({
         "A": ["a", "b", "c", "b"], "B": list(range(4))})
    print(df3.groupby("A").sum())
    
    """
    5、  、  、    
    """
    # time series
    t_exam = pd.date_range("20190301", periods=10, freq="S")
    print(t_exam)
    
    # Graph
    #    !!!!!!!!!
    ts = pd.Series(np.random.randn(1000, index=pd.date_range("20190301", periods=1000)))
    ts = ts.cumsum()
    # from pylab import *
    # ts.plot()
    # show()
    
    #     
    data = pd.read_csv("./         .txt")
    print(data)
    data.to_csv("./test1.csv")
    # data_excel = pd.read_excel("./123.excel", "Sheet1")
    # print(data_excel)
    #    openpyxl   
    # data_excel.to_excel("./test2.xlsx")
    

    第6部scikit-learn
    第7部keras