Pandsシリーズ-DataFrameとSeriesデータ構造

11837 ワード

  • Series
  • DataFrame
  • Data FrameからSeries
  • を検索しました.
    import pandas as pd
    import numpy as np
    
    1.Series
    Seriesは1次元配列に似たオブジェクトで、データのセット(異なるデータタイプ)と関連するデータラベルのセット(すなわちインデックス)から構成されています.
    1.1データリストだけで最も簡単なSeriesが生成されます.
    s1 = pd.Series([1,'a',5.2,7])
    
    #      ,     
    s1
    
    0      1
    1      a
    2    5.2
    3      7
    dtype: object
    
    #     
    s1.index
    
    RangeIndex(start=0, stop=4, step=1)
    
    #     
    s1.values
    
    array([1, 'a', 5.2, 7], dtype=object)
    
    1.2タグインデックスを持つSeriesを作成します.
    s2 = pd.Series([1, 'a', 5.2, 7], index=['d','b','a','c'])
    
    s2
    
    d      1
    b      a
    a    5.2
    c      7
    dtype: object
    
    s2.index
    
    Index(['d', 'b', 'a', 'c'], dtype='object')
    
    1.3 Python辞書を使ってSeriesを作成する
    sdata={'Ohio':35000,'Texas':72000,'Oregon':16000,'Utah':5000}
    
    s3=pd.Series(sdata)
    
    s3
    
    Ohio      35000
    Texas     72000
    Oregon    16000
    Utah       5000
    dtype: int64
    
    1.4ラベル索引に従ってデータを照会する
    Pythonに似た辞書dict
    s2
    
    d      1
    b      a
    a    5.2
    c      7
    dtype: object
    
    s2['a']
    
    5.2
    
    type(s2['a'])
    
    float
    
    s2[['b','a']]
    
    b      a
    a    5.2
    dtype: object
    
    type(s2[['b','a']])
    
    pandas.core.series.Series
    
    2.Data Frame
    DataFrameはテーブル型のデータ構造です.
  • 各列は、異なる値タイプ(数値、文字列、ブール値など)
  • でありうる.
  • 行インデックスindexもあれば、列インデックスcolumns
  • もあります.
  • は、Seriesからなる辞書
  • と見なすことができる.
    dataframeを作成する最も一般的な方法は、02節を参照して、テキストファイル、excel、mysqlデータベースを読み取ります.
    2.1複数の辞書シーケンスに基づいてdataframeを作成する
    data={
            'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],
            'year':[2000,2001,2002,2001,2002],
            'pop':[1.5,1.7,3.6,2.4,2.9]
        }
    df = pd.DataFrame(data)
    
    df
    
    state
    year
    ポップ
    0
    Ohio
    2000
    1.5
    1
    Ohio
    2001
    1.7
    2
    Ohio
    2002
    3.6
    3
    Nevada
    2001
    2.4
    4
    Nevada
    2002
    2.9
    df.dtypes
    
    state     object
    year       int64
    pop      float64
    dtype: object
    
    df.columns
    
    Index(['state', 'year', 'pop'], dtype='object')
    
    df.index
    
    RangeIndex(start=0, stop=5, step=1)
    
    3.Data FrameからSeriesを検索する
  • 行、一列だけ調べたら、返ってくるのはpd.Series
  • です.
  • 複数行、複数列を検索すると、返ってくるのはpd.DataFrame
  • です.
    df
    
    state
    year
    ポップ
    0
    Ohio
    2000
    1.5
    1
    Ohio
    2001
    1.7
    2
    Ohio
    2002
    3.6
    3
    Nevada
    2001
    2.4
    4
    Nevada
    2002
    2.9
    3.1一列を調べたら、結果はpd.Seriesです.
    df['year']
    
    0    2000
    1    2001
    2    2002
    3    2001
    4    2002
    Name: year, dtype: int64
    
    type(df['year'])
    
    pandas.core.series.Series
    
    3.2複数の列を検索し、結果はpd.DataFrameです.
    df[['year', 'pop']]
    
    year
    ポップ
    0
    2000
    1.5
    1
    2001
    1.7
    2
    2002
    3.6
    3
    2001
    2.4
    4
    2002
    2.9
    type(df[['year', 'pop']])
    
    pandas.core.frame.DataFrame
    
    3.3行を調べたら、結果はpd.Seriesです.
    df.loc[1]
    
    state    Ohio
    year     2001
    pop       1.7
    Name: 1, dtype: object
    
    type(df.loc[1])
    
    pandas.core.series.Series
    
    3.4複数行を検索した結果、pd.DataFrameです.
    df.loc[1:3]
    
    state
    year
    ポップ
    1
    Ohio
    2001
    1.7
    2
    Ohio
    2002
    3.6
    3
    Nevada
    2001
    2.4
    type(df.loc[1:3])
    
    pandas.core.frame.DataFrame
    
    ここのコードアドレス:https://github.com/peiss/ant-learn-pandas