A、データフレームのインデックス
1、列を選択
1頭の インポートPDとしてパンダ 2 インポートNPとしてnumpyの 3 からパンダがインポートシリーズ、データフレームを 4 5 DF = DATAFRAME(np.random.rand(12).reshape((3,4 ))、 6 指数= [ ' 1 '、' 2 ' ' 3 ' ]、 7 列=リスト(' ABCD ' ) 8 ) 9 プリント(DF) 10型(DF [ ' '】) 11 DF [ ' A '、' C ' ] #データフレーム
注:DF [] - 列を選択し、整数の行を選択したが、個別に選択されないが、そのようなスライスDF等の手段を用いる[2]
2. [行
=データフレームDF1(np.random.rand(12)と.reshape((3,4- ))、 インデックス = [3,2,1 ]、 カラム =リスト(' ABCD ' ) ) プリント(DF1) df.loc [ ' 一「 ] #別々のライン、シリーズオブジェクトのリターンされ #、唯一デフォルトインデックスは、整数のインデックス整数df1.loc [0]#ある df.loc [[ 」一「」三「」フォー' ] #複数の行は、ターゲットデータフレームのリターンである 2 :. 1 [df1.loc ] #df.loc [「2」:「3 」]#インデックスラベル部分が間隔閉じ #1 df.locを[ラベル]は主に指定されたインデックス、およびデフォルトインデックスことを指摘、行インデックスを目的としています
注:df.loc [] - インデックスの行を選択し、インデックス文字列ラベル
インデックスの3、別の方法
(0から長さ-1)df.iloc []記載整数位置選択された行は、
インデックスリストに類似して、順序がデータフレームの整数位置であり、操作者が0から始まります
1枚の プリント(DF) 2 df.iloc [0] #行 3 #df.iloc [3]は、インデックスの範囲を超えない 。4 df.iloc [[0,1]] #複数の行が選択され、オブジェクト返すデータフレーム 。5 。6 DF。 ILOC [1,0] #の複数の選択された行が可変である 。7 df.iloc [2 ::]
4、ブール指標
同じ原理およびシリーズの原則
1 #DF = DF / 10000 2 プリント(DF) 。3 B1 = DF <20である #戻り、同一DF形状ブールデータフレーム 4 DF [B1] #データフレーム、すべてのデータは、元のデータにtrueを返し、falseを返すはNaNを返します 5 。6 B2 = DF [ ' ' ]> 50の #は、分離は、シリーズである。7 #1 印刷(B2、タイプ(B2))。8 DF [B2] #は保持Trueにラインデータを決定し、判定を行うために分離する。9 10 #の複数の行判断を行う。11 B3 = DF [[ ' A '、' B ' ]]> 50 # 戻りブールデータフレーム 12で プリント(B3) 13は プリント(DF [B3]) #は、Trueに同じ形状データフレームの戻り位置データを返し偽、及び他の位置ははNaNを返されます
5、マルチインデックス、一方インデックス列と行
1枚の プリント(DF) 2 DF [ ' A ' ] .LOC [[ ' 1 '、' 3 ' ] 3 DF [[ ' B '、' C '、' D ' ]]。ILOC [:: 2 ] 4 DF [DF [ ' A ' ] <50] .iloc [0]
第二に、データフレームの基本的な操作
1、ビューと転置
1 DF = DATAFRAME(np.random.rand(16).reshape((4,4 ))) 2 df.head(2 ) 3 df.tail() 4 #.T 5 プリント(DF) 6 プリント(DF。 T)
2、追加および変更
1 df.columns =リスト(' ABCD ' ) 2 DF [ ' E ' ] = 10 #を 加え、スカラーを繰り返し指定 。3 DF
1 位ライン、DF上記データ追加 2 df.locを[4] = 5 。3 プリント(DF)
1 #変更、DF上記データ 2 DF [ ' E ' ] = 0 。3 プリント(DF)
1 #複数の列を変更する、DF上記データ 2 DF [ ' D '、' E ' ] = 88 。3 プリント(DF)は、 4 #直接割り当てランキング
3、削除
1 位データ前掲デルDF削除 2 デル DF [ ' E ' ] 3 プリント(DF)を
1 #除去する第二の方法 2 df.drop(0) #1 ドロップのデフォルトは削除後datafarmeが返され
1 #ドロップ()を削除軸= 0軸= 1行削除カラム 2 df.drop(' A '、軸= 1)
1つの #の降下は、データインプレース=真の元の設定、変更、新しいデフォルト値を返す 2 df.drop(0、インプレース= true)を
3 DF
4、アラインメント
1 DF = DATAFRAME(np.arange(16).reshape((4,4))、列=リスト(' ABCD ' )) 2 DF1 = DATAFRAME(np.arange(9).reshape((3,3)) 、列=リスト(' CBA ' )) 。3 プリント(DF) 。4 プリント(DF1) 。5 #自動的に行と列のラベルに並ぶ 。6 DF + DF1
5、並べ替え
1 DF = DATAFRAME(np.random.randint(16、サイズ= [4,4])、カラム=リスト(' ABCD ' )) 2 DF 3 #を押して値をソート 。4 df.sort_values(' B '、= Falseの昇順) #はBの行、デフォルト上昇デフォルト昇順=真、偽降順の列に等しいタグ値によってソート 。5 。6 df.sort_values([ 「B 」、「C 」 ]) #1 関節
1 #デフォルト軸= 0、値は、列のインデックス通過する必要が最初のパラメータに、行をソートするカラムを使用することである 2 #軸= 1は、着信、列を並べ替えるために、ラインの値を使用することです行インデックス 。3 df.sort_values(2、軸= 1)
1つの #ソートインデックス 2 df.index = [5,2,4,1 ] 。3 df.columns =リスト(' ADCE ' ) 。4 プリント(DF) 。5 。6 df.sort_index(昇順=偽) #のデフォルトの行インデックス降順昇順降順= Falseの 7。 #。Axisはソート1 =列インデックス 。8 df.sort_index(軸= 1)