インデックスとデータフレームの基本的な操作

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)

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/gt92/p/11803711.html