3学習パンダ:処理(ソート、接続、置換、削除及び更新値)配列

置換されるべきシーケンスの値の配列を付加する、順序付けられた配列を含む、配列を処理し、シーケンス値を更新、および削除を発生する値の処理シーケンスです。

ソート順序

 値またはインデックスによってソート順序:

Series.sort_values(自己、軸= 0、昇順= Trueの場合、インプレース= Falseを、種類= ' クイックソート'、na_position = ' 最後' 
Series.sort_index(自己、軸 = 0、レベル=なし、= Trueの昇順、インプレース=偽、種類= ' クイックソート'、na_position = ' 最後'、=真をsort_remaining)

パラメータ注:

  • 軸:シリーズについては、唯一の0
  • 昇順:デフォルト値は昇順で、Trueで、降順にソート、Falseに設定されている場合。
  • インプレース:Trueに設定されている場合、元のシーケンスは、ソート、元のソート順序を配置するかどうか、Falseに設定した場合は、元のシーケンスは、順序付けられたシーケンスを返し、変更されません。
  • 種類:ソート方法、有効な値は、クイックソート、マージソート、ヒープソートあり、デフォルト値はクイックソートであります
  • na_position:最初のナンの終わりに最後の注文が置かれ、オーダーの先頭にナンを置きます
  • レベル:マルチレベルの指標のレベルは、デフォルトでは、インデックスレベル0に応じてソート、Noneです。
  • sort_remaining:真、マルチレベルのインデックスに設定した場合、インデックスの他のレベルは、対応する順序であろう。

 1、値に従ってソート

値が順にソートされ、ナンでの最後の位置、

>>> S = pd.Series([np.nan、1、3、10、5 ])
 >>> s.sort_values()
 1 1.0 
2 3.0 
4 5.0 
3 10.0 
0のNaN 
DTYPE:のfloat64

インデックスに従ってソートする2

インデックスの値によってソート

>>>のS =のpd.Series([ ' A '' B '' C '' D ' ]、インデックス= [3、2、1、4 ])
 >>> s.sort_index()
 1     、C
 2     B
 3 4     次元
DTYPE:オブジェクト

第二に、追加の接続シーケンス

新しいシーケンスに追加して使用する、他の後のシーケンスで追加の配列、:

Series.append(自己、to_append、ignore_index = Falseを、verify_integrity =偽)

パラメータ注:

  • to_append:追加の配列
  • ignore_index:デフォルト値はFalseです、インデックスを無視しないでください。Trueに設定されている場合、その順序は、接続後にインデックスを再構築します。
  • verify_integrity:インデックスを作成するときにTrueに設定されている場合、デフォルト値は、Falseで、重複が例外をスローします。

 例えば、インデックスは、インデックス、合流後のインデックスシーケンスとして、無視されないもの、に2つの配列は、インデックスが無視されたとき、新しいシーケンスは、インデックスを再構築します。

>>> S1 = pd.Series([1、2、3 ])
 >>> S2 = pd.Series([4、5、6 ])
 >>> s1.append(S2)
0     1 
1 2 
2 3 
0     4 
1 5 
2 6 
DTYPE:int64モード
 >>> s1.append(S2、ignore_index = TRUE)
0     1 
1 2 
2 3 
3 4 
4 5 
5 6 
DTYPE:int64モード

第三に、値の交換手順

別の値への値あるいは配列:

Series.replace(自己、to_replace =なし、値=なし、インプレース= Falseを、限界=なし、正規表現= Falseを、方法= ' パッド'

パラメータ注:

  • to_replace:to_replaceパラメータは、値が発見された後、値で指定されたパラメータの値を置き換える任意の元の値のシーケンスであります
  • インプレース:場所のデフォルト値はFalseで、変更しないシーケンス
  • 限界:の置換の最大数
  • 正規表現:正規表現として解釈to_replaceするか、デフォルト値はFalseです。Trueに設定した場合、引数は文字列でなければなりませんto_replace
  • 方法:有効な値はパッドあり、ffill、bfillは、パラメータがスカラーto_replace、リストや辞書で、パラメータ値がNoneとき、パラメータを置き換えるためにメソッドを使用します。

シナリオ1:to_replaceパラメータパラメータ値がスカラーである、スカラーであります

>>>のS =のpd.Series([0、1、2、3、4 ])
 >>> s.replace(0,5 
0     5 
1 1 
2 2 
3 3 
4 4 
DTYPE:int64モード

シーン2:パラメータto_replaceがリストされ、パラメータがスカラー値であり、例えば、シーケンスリストマッチング値to_replace 5を交換します

>>>のS =のpd.Series([0、1、2、3、4 ])
 >>> s.replace([0,2]、5 
0     5 
1 
2 5 
3 3 
4 4 
DTYPE:int64モード

シーン3、to_replaceパラメータが辞書で、パラメータ値はいずれも、例えば、キーシーケンス値照合辞書の値を置き換えるしない辞書です。

>>>のS =のpd.Series([0、1、2、3、4 ])
 >>> s.replace({0:5,1:7 })
0     5 
1 7 
2 2 
3 3 
4 4 
DTYPE。 int64モード

第四に、更新シーケンス

値更新シーケンス、3つの方法があり、第一の方法は、スカラー値の更新シーケンスの単一の値を使用することで、第2の実施形態では、スライスによって索引付け値の配列の複数の変形例であり、第三の方法は、更新するために、配列を使用することですシーケンス。

図1に示すように、スカラー配列を更新します

インデックスの単一の指標値に、配列は割り当てによって修飾されています

>>>のS =のpd.Series([0、1、2、3、4 ])
 >>> s.iat [1] = 7 
>>> S 
0 0
 1 7 
2 2 
3 3 
4 4 
DTYPE:int64モード

図2に示すように、シーケンスは、ミクロトームを使用して更新されます

配列のリストを割り当てることにより、複数の値を変更するために、プロパティをスライスして得られたLOC配列:

>>> s.loc [1:2] = [2,3 ]
 >>> S 
0 0
 1 2 
2 3 
3 3 
4 4 
DTYPE:int64モード

図3に示すように、シーケンスは、シーケンスを使用して更新されます

元の配列の値は、インデックスが新しい値に、同一のインデックス値を、元の配列とシーケンスパラメータと一致している必要があり、その場で変更並び順に従って指数、すなわち、。

Series.update(自己、他)

例えば、0と2のインデックス値を修正するために更新()関数を使用して、およびE「を」D '。

>>>のS =のpd.Series([ ' A '' B '' C ' ])
 >>> s.update(pd.Series([ ' D '' E ' ]、インデックス= [0、2 ]))
 >>> S 
0、D
 1つの    、B
 2     Eの
DTYPE:オブジェクト

第五に、配列は、欠損値

NumPy.NaN、NumPy.nanなしまたは、(dropnaを用いてNAをチェックするISNA()関数を使用して表現)を使用して欠損値は、(fillnaを用いNA配列の値を削除)関数は、欠損値を埋め、

 欠損値のチェックシーケンスがある場合に1、

>>>のS =のpd.Series(データ= [1,2、np.NaN、4 ])
 >>> s.isna()
0偽
 1  2  3 
DTYPE:BOOL

2、シーケンス内の欠落値を削除

>>> s.dropna()
0     1.0 
1 2.0 
3 4.0 
DTYPE:のfloat64

第六に、隣接埋めるために有効なデータに基づいて

欠損値を埋めるために有効なデータを使用して、データの欠落、有効な隣接するデータを検索し、fillna()関数を使用します。

Series.fillna(自己、値=なし、方法=なし、軸=なし、インプレース= Falseを、限界=なし、ダウンキャスト=なし、** kwargsから)

パラメータ注:

  • 値:の欠損値で埋めます
  • 方法:RMS法、埋め戻し(「埋め戻し」、「bfill」)、パディング(「パッド」、「ffill」)と固定値充填(方法=なし)を検索し、デフォルトなしではありません
  • ダウンキャスト:ダウン変換は、タイプの種類を下げるために、できるだけ多くを変換するために、デフォルトのfloat64 Int64型を変換することができ例えばなし、ではありません。

1、埋め戻し

そして、埋め戻しを埋め戻すことは欠損値を埋めるために最初の実効値の後、bfill方法を意味し、

>>> s.fillna(メソッド= ' bfill ' 
0     1.0 
1 2.0 
2 4.0 
3 4.0 
DTYPE:のfloat64

2、Butian

そして、パディングは、パッドffill方法、欠損値が満たされる前に、実効値を意味し、

>>> s.fillna(メソッド= ' ffill ' 
0     1.0 
1 2.0 
2 2.0 
3 4.0 
DTYPE:のfloat64

図3に示すように、固定された値を充填

この方法は、valueパラメータが欠落している値を入力する値を指定すると、固定値は平均値、中央値、およびモードであってもよいし、いずれもない場合

>>> s.fillna(値= 3、方法= なし)
0     1.0 
1 2.0 
2 3.0 
3 4.0 
DTYPE:のfloat64

埋めるために、補間を使用して七、

行方不明の補間を使用して適合値は、その後、値を適合させることによって、欠損値を埋めます。

Series.interpolate(自己、メソッド= ' 線形'、軸= 0、上限=なし、インプレース=偽、limit_direction = ' フォワード'、limit_area =なし、ダウンキャスト=なし、** kwargsから)

パラメータ注:

  • limit_direction:限定された方向、実効値は、充填方向はNaNを使用して、特定の方向場合、{「前方」、「後方」、「両方」}であります
  • limit_area:有効な値は充填のみそれらのNaNを表す内部{なし、「内側」、「外側」}は、いずれも、全く充填限界を示していないが囲まれたRMSであり、外で充填するのNaN(推測)を表すRMS。
  • 方法:補間を得る方法、デフォルト値リニア(線形)で、既に実装された方法である:線形、時間インデックス、パッド、「最も近い」、「ゼロ」、「slinear」、「二次」、「立方」、「スプライン '' 重心 '' 多項式 '' クローグ '' piecewise_polynomial '' スプライン '' Pチップ '' アキマ '' from_derivatives'
  • ** kwargsから:補間関数に渡されたキーワード引数

一般的な補間法は、線形回帰および多項式回帰であります

1、線形回帰適合

線形フィッティング方法は、線形インデックスは無視され、デフォルトで、値等間隔としてシーケンスを送信し、

>>> s.interpolate()
0     1.0 
1 2.0 
2 3.0 
3 4.0 
DTYPE:のfloat64

2、多項式フィッティング

多項式はパラメータが通過する必要が多項式フィット順序を表しています。

>>> s.interpolate(メソッド= ' 多項式'、順序= 2 
0     1.0 
1 2.0 
2 3.0 
3 4.0 
DTYPE:のfloat64

 

参照文献:

おすすめ

転載: www.cnblogs.com/ljhdo/p/10279486.html