データサイエンスライブラリ-day3

1頭のパンダインデックス

    :のような、直接インデックス値によってアクセスすることができるシリーズ、用

        S =のpd.Series(np.array([1,2,3,4])、インデックス= [ 'A'、 'B'、 'A'、 'B'])

        S [ 'A']

    データフレームの場合は、次のような、LOCを使用する必要があります。

    S = pd.DataFrame(np.array([1,2]、[3,4]、[5,6]、インデックス= [ 'A'、 'B'、 'A'])

        s.loc [ 'B']

2、繰り返しインデックス

    決意:彼らは重複したインデックスを含むかどうかを決定するために、is_unique機能が使用されてもよい、など。

        s.is_unique

    重複したインデックスを取得することは、ユニークな機能は、次のような、使用することができます。

        S1 = s.unique()

    インデックス処理は、以下のような、使用されてもよいGROUPBYにより、繰り返されます。

        S2 = s.groupby(s.index).SUM()

図3に示すように、マルチレベルインデックス

3.1シリーズ

マルチ・レベル・インデックスは、マルチインデックス機能を使用することができる作る、など。

        A1 = [ 'A'、 'B'、 ''、 'C​​'、 'B'、 'B']、[1,2,2,3,1,2]

        A2 =リスト(ZIP(* A1))

       インデックス= pd.MultiIndex.from_tuples(A2、名前= 'LEVEL1'、 'レベル2'])

3.2データフレーム

    以下のような、わずかに異なるとのシリーズ:

DF = pd.DataFrame(np.random.randint(1,10、(6,3))、インデックス= [ 'A'、 'B'、 ''、 'C​​'、 'B'、 'B' ]、[1,2,2,3,1,2]、列= [ '1'、 '2'、 '1']、[、 '赤' '青'、 '赤']])

3.3マルチレベルのインデックス間の交流

    df.swaplevel(0)

3.4ソート指数によると、

    df.sortlevel(1)

3.5は、指数を算出し、

    df.sum(レベル= 0)

3.6列のインデックスを変換します

    df.set_index(1列名、列名、2 ...)

    また、()などdf.reset_indexとして、インデックスに戻ることができます

4グループ化計算

    基本的なプロセス:スプリット - アプリケーション - マージ

リストをグループ化することにより、4.1

    例:df.groupby(1つのカラム名、カラム名2、...).SUM()

辞書をグループ化して4.2

DF = pd.DataFrame(np.random.randint(1,10、(6,4))、列= [ 'A'、 'B'、 'C​​'、 'D'])

マッピング= { 'A':赤、 'B':青、 'C':赤、 'D':青}

DF1 = df.groupby(マッピング、軸= 1)

機能をグループ化することにより、4.3

    インデックスに基づいて、パケットの関数の戻り値

    デフ_group(IDX):

        リターンIDX

    df.groupby(_group)

以上4.4レベルインデックスグルーピング

    次のようなインデックス名にグループ化する、異なるレベルの

    df.groupby(レベル=索引名、軸= 1)

5集計演算

組み込み関数の重合5.1

    合計、平均値、最小値、最大値、describle

5.2カスタム集計関数

    デフ_group(S):

        リターンs.max() - s.min()

    df1.agg(_group)

    注意:DF1は、グループ化の結果であります

5.3法を適用

    デフトップ(G、N = 2、列= 'DATA1'):

        (偽=カラム、ascengding =による)戻りg.sort_value [:, N]

    DF2 = df.groupby(列名).apply(上)

6データのインポートとエクスポート

6.1データのインポート

6.1.1インポート方法

    pd.read_csv(ファイルパス)

    pd.read_table(ファイルパス、9月= '')

    その9月のいくつかよりも柔軟pd.read_table pd.read_csvは、正規表現をサポートしています。

6.1.2インポート設定

ファイルを読み込むときなど、列ラベル、列の一部が、行ラベルとして指定することができるが、存在する場合、あなたが設定できます。

        DF = pd.read_csv(パス、ヘッダ=なし、index_col = [1カラム名、カラム名2、...])

6.1.3欠損値

    :失われたデータ、pd.read_csv自動的に空席の場合、欠損値などのNAは、またなど、カスタマイズすることができます

    DF = pd.read_csv(パス、na_valuesは= [ 'NA'、 'NULL'、 'FOO'])

    さえ方法は、個別に各列に設けられた辞書を使用することができ

6.1.4読み出したデータブロック

    CHUNKSIZEブロックが計算されるようなキー値の数などのパラメータによってデータを読み出します。

    DF = pd.read_csv(パス、チャンク= 1000)

    結果= pd.Series([])

    DFでのチャンクのための:

        結果= result.add(チャンク[キー] .value_counts()、fill_value = 0)

ディスクへのデータのエクスポート6.2

    pd.to_csv(パス)

    pd.to_csv(パス、インデックス=偽):これは、のような、インデックスを保持することなく、提供することができます

7時系列

7.1つの共通ライブラリ

    日時インポート日時から

    日時輸入はtimedeltaから

7.2時間の定義

T1 =日時(2019,9,23)

7.3時間の変換

    時間変更の文字列:

        T1 =日時(2019,7,23)

        t1.strftime( '%Y /%M /%d個の%のH:%のM:%のS')

    文字列の変更時刻:

        datetime.strptime( '2019年7月12日9時20分'、 '%Y-%M-%D%H:%のM')

7.4時系列を生成します

    DATE_RANGEを使用します。

        pd.date_range( '20190620'、 '20190628')

pd.date_range( '20190620'、期間= 10、FREQ = 'M')

    期間を使用します。

pd.period_range( '2016から10'、期間= 10、FREQ = 'M')

期間の7.5タイムスタンプ変換

    タイムスタンプは、期間を変換します:

        如:S = pd.Series(np.random.randint(5)、インデックス= pd.date_range( '2016年4月1日'、期間は= 5、FREQ = 'D'))

        s.to_periodを()、また、パラメータを追加することができ、s.to_period(FREQ = 'M'):コール

        同様に、期間S1のためのデータは、s1.to_timestamp()は、タイムスタンプに変換することができます。

        注意:一つは、ピリオド、1時間です!

7.6時間リサンプリング

7.6.1ダウンサンプリング:高頻度に低周波

    ts.resample(サンプリング期間、実施形態では、時間値)、例えば:

    ts.resample( '5分'、どのように= '合計'、ラベル= '右')

    また、GROUPBY機能を使用することができます。

        ts.groupby(ラムダX:x.month).SUM()

        ts.groupby(ts.index.to_period( 'M'))。合計()

7.6.2アップサンプリング:高いものへ

    タイムスタンプ:ts.resample( 'D'、fill_method = 'ffill')

    期間:ts.resamle( 'A-DEC'、どのように= '合計')

7.7に対処するための時間に時間を解析したファイルを

    DF = pd.read_csv(路径、parse_dates =真)

8データの可視化

    ビデオ折れ線グラフ:ts.plot(figsize =タプル、スタイル=色と線の種類、タイトル=図名)

    ビデオ散布:ts.plot.scatter(X = ''、Y = '')

    ヒストグラムを描く:ts.plot.bar(= Trueの積み重ね)

    ヒストグラムを描く:ts.plot.hist(ビン= 20)

    図の自身:ts.plot.pie()

おすすめ

転載: www.cnblogs.com/zhuome/p/11618789.html
おすすめ