pandasライブラリの紹介

12950 ワード

pandasライブラリは主にデータの抽出方法の特徴を解決し、高性能データ分析ツールを提供する.
このライブラリの詳細:http://pandas.pydata.org
参照方法:import pandas as pd
pandasはnumpyライブラリに基づいて実現され、numpyライブラリとmatplotlibライブラリとともによく使用される.
import pandas as pd
d=pd.Series(range(20))  #             ,        ,        ;       
d.cumsum()   #    d       ,        ,           n     

pandasライブラリの理解:,
主に2つのデータ型を理解し、それぞれSeriesが1次元のデータ型に対応し、2番目のデータ型がDataFramesで、2次元と多次元に対応している.この2つはndarrayに基づく拡張であり、numpyはデータの構造表現に注目し、pandasはより多くの拡張データタイプであり、データの応用表現に注目している.インデックスに現れる応用;
以上のデータ型に基づく各種操作は、基本操作、演算操作、特徴クラス操作、関連クラス操作である.
Seriesデータ型、これは1次元データのタイプで、第1列はデータのインデックスで、第2列は格納されたデータで、インデックスが0から
開始;pandas库的介绍_第1张图片
以上が自動インデックスで、
このデータ型にはカスタムインデックスもあります.
方法は次のとおりです.
pandas库的介绍_第2张图片
シーケンスには2つの要素があり、最初の位置は要素であり、2番目の位置はシーケンスのインデックスである.
Seriesタイプは、次の方法で作成できます.
1、pythonリスト作成(上の方法)2、スカラー値作成3、python辞書作成4、ndarray作成
pandas库的介绍_第3张图片
スカラー値は作成され、最初の位置はスカラー要素で、2番目の位置はインデックスです.
pandas库的介绍_第4张图片
辞書の値だけを使用して、キー、つまりインデックスを自分で定義することもできます.
pandas库的介绍_第5张图片
インデックスがより多くの場所にある場合、自動的に場所が作成され、その値がNaNに埋め込まれます.
ndarrayタイプから作成
import pandas as pd
import numpy as py
a=pd.Series(np.arange(20))


b=pd.Series(np.arange(5),index=np.arange(9,4,-1))

Seriesタイプのインデックスを取得する方法は、次のとおりです.
b.index()はすべてのインデックスb.values()を取得し、そのすべての値を取得し、インデックス出力はindexタイプであり、値出力は合計arrayタイプである.
pandas库的介绍_第6张图片
インデックスの場合、カスタムインデックスと自動インデックスは同時に併存しますが、1つしか選択できません.混用するとエラーが発生します.
インデックスは括弧で表されます.このタイプでは、インデックスを比較関係で表すことができます.
b[b>b.median()]

インデックスされた部分はbの中で中位数より大きい部分である.
1、インデックスをカスタマイズしてコンテンツにアクセスできる
2、ワードinを保留して取得する
3、使用する.get()の方法は、その中のタイプb.get('f',100)#を取得して、fがbにあるか否かを判断し、もしあれば対応値を返し、いなければ2番目のパラメータ100を返し、2番目のパラメータが存在しない場合は空を返す.
Seriesタイプの位置合わせの問題;
pandas库的介绍_第7张图片
3 Dに4次元を加えたオブジェクトは、インデックス値が同じで演算され、異なるオブジェクトは演算されません.
pandas库的介绍_第8张图片
つまり、異なるインデックスの値が自動的に表示され、位置を見るのではなく、インデックスが1つ存在しない場合、重ねて空に戻ります.
名前属性、Seriesオブジェクト、インデックスは、属性に格納する名前を持つことができます.name;
pandas库的介绍_第9张图片
Seriesオブジェクトの変更;
辞書オブジェクトの変更に相当し、b['a','b']=20のように複数の値を同時に変更できるのとは異なり、a bに対応する値を同時に変更する
SeriesライブラリのDataFrameタイプ、2 Dデータ型
DataFrameタイプは、同じインデックスを共有するカラムのセットから構成され、実際にはテーブルタイプであり、ローインデックスもカラムインデックスもあり、ローインデックスはindex、カラムインデックスはcolumnであり、2 Dデータを表すのによく使われ、多次元データを表すこともできる.
DataFrameタイプは、次のタイプで作成できます.
1.2 D ndarrayオブジェクトの作成
2.ディクショナリは、1次元ndarray、リスト、ディクショナリ、メタグループ、またはseriesで構成されます.
3.Seriesタイプ作成
pandas库的介绍_第10张图片
横方向に行インデックス0 1が自動的に生成される.カラムインデックス0 1 2 3 4が縦方向に自動的に生成されます.その他は要素です.
pandas库的介绍_第11张图片
 
辞書によって作成される場合、辞書のキーはデフォルトで列のカスタムインデックスであり、値は行の内容である.
pandas库的介绍_第12张图片
インデックス部分の内容をカスタマイズし、存在しない場合に自動的に補完します.
pandas库的介绍_第13张图片
横方向または縦方向のインデックスが存在しない場合、手動で補完してもよいし、補完しなくても自動的に補完することができる.

都市
ループひ
前年同期比
ていしき
北京
101.5
120.7
121.4
上海
101.2
127.3
27.8
広州
101.3
119.2
120.0
深セン
102
140.9
145.5
瀋陽
100.1
301.4
101.4

import pandas as pd
dl={'  ':['  ','  ','  ','  ','  '],'  ':[101.5,101.2,101.3,102,100.1],
    '  ':[120.7,127.3,119.2,140.9,301.4],'  ':[121.4,127.8,120.0,145.5,101.4]}
d=pd.DataFrame(dl,index=['c1','c2','c3','c4','c5'])
print(d)

pandas库的介绍_第14张图片
インデックスの場合、その番号が付きます.すなわち、c 1、c 2など、d['ループ比']は直接1列の要素を取得します.
行の要素を取得します:d.ix('c 2')
d['ループ比'][c 2']特定の位置の要素を得ることができる
DataFrameは2 Dのラベル付き配列です
pandasのデータ型操作:
再インデックスメソッドを使用して、dropメソッドを使用する方法を削除します.
再配置:.reindex(index,columns,fill_value,method,limit,copy)では、SeriesとDataFrameのインデックスを変更および再配置できます.
1番目のパラメータは再配置の行を定義し、2番目は再配置の列を定義し、3番目は欠落した位置を埋める値を定義し、method充填方法、ffillは値を前に充填し、bfillは後ろに充填し、liimitは最大充填量を表し、copyデフォルトTrueは新しいオブジェクトを生成することを示し、Falseはコピーしないことを示します
索引タイプの一般的な方法:
.append(index)別のindexオブジェクトを接続し、新しいindexオブジェクトを生成
.diff(index)は差分セットを計算し、新しいindexオブジェクトを生成する.
.intersection(index)計算交差
.union(index)計算およびセット
.delete(loc)loc位置の要素を削除し、
.insert(loc,e)loc位置に要素eを追加
.drop()行または列の要素を削除し、括弧に行または列のインデックスを記入します.デフォルトの操作行のインデックスです.列を削除する必要がある場合はaxis=1を指定します.
d.drop('前年同期',axis=1)
pandasライブラリのデータ型演算:
算術アルゴリズム:
算術演算行列インデックスに基づいて、補完後の演算、演算デフォルトで浮動小数点数を生成
補完後の欠落はNaN、すなわち空の値です
2 Dと1 D、1 Dと0 Dでは、ブロードキャスト演算、すなわち1 Dと0 D(定数)の演算が生成され、1 D要素の各位置がその定数と演算されます.
2 Dと1 Dの演算は、デフォルトでは1 D、すなわち2 D要素の各行とその1 D要素の各位置で演算されます.
加減乗除記号による二元演算により新しいオブジェクトを生成する.各カラムの演算を指定する場合は、addなどのメソッド型を使用してaxis=0を指定する必要があります.
使用することもできる.add(d) ,.sub(d),  .mul(d)  ,  .div(d)演算は、それぞれ加減乗除である
import numpy as np
import pandas as pd
a=pd.DataFrame(np.arange(12).reshape(3,4))
b=pd.DataFrame(np.arange(20).reshape(4,5))
print(a*b)#               ,                ,      NaN

K=b.add(a,fill_value=100)#        100,  100  NaN
print(K)

c=pd.Series(np.arange(4))
print(c)
print(a-c)#    c        
b.sub(c,axis=0)#    b    

比較アルゴリズム:
比較演算は同じインデックスの要素のみを比較し、補完しません(両方が2 Dの場合、同じ次元の寸法でなければなりません.そうしないと、エラーが発生します).
2 Dおよび1 D、1 Dおよびゼロ次元のブロードキャスト演算
<>などの比較演算記号を使用した結果、次元ブールタイプ
データのソート:
.sort_Index()という方法は、指定軸上でインデックスに基づいてソートする、デフォルトでは昇順である.sort_index(axis=0、ascending=True)のデフォルトは横軸増分ソートです
.sort_value()このメソッドは、指定した軸上で数値に基づいてソートされ、デフォルトでは昇順です.
Series.sort_value(anxis=0,ascending=True)
DataFrame.sort_value(by,axis=0,ascending=True)byはaxis軸上のインデックスまたはインデックスリストを指す
NaNは並べ替えの末尾に統一されているので,小さいものから大きいものから小さいものまで並べ替えの末尾に置かれる.
import pandas as pd
import numpy as np
b=pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])
c=b.sort_value(2,ascending=False)  #                      
d=c.index_value('a',axis=1)#           ’a'          

基本統計分析:
1 D seriesタイプ
                                                          pandas库的介绍_第15张图片
                                                         pandas库的介绍_第16张图片
                                                         pandas库的介绍_第17张图片
ここでdescribe法はすべての統計分析の値を得ることができる.
import pandas as pd
a=pd.Series([9,8,7,6],index=['a','b','c','d'])
b=a.describe()
print(b)

output:
count    4.000000
mean     7.500000
std      1.290994
min      6.000000
25%      6.750000
50%      7.500000
75%      8.250000
max      9.000000
dtype: float64
#      Series  ,     Series          

2 Dデータフレームタイプ:
このときの統計値は0軸方向、すなわち各列の統計情報を計算し、describeのいくつかは横インデックスが統計値であり、縦はシーケンス番号インデックスである.
データの累積統計分析:
1~n上のデータ積算統計計算が可能で、forサイクルの使用を減らす
                                                    pandas库的介绍_第18张图片
pandas库的介绍_第19张图片
各位置の数は縦方向で、この列の位置と前の位置のすべての要素の統計値です.
pandasの2つのデータ型のスクロール計算に適用されます.
                                           pandas库的介绍_第20张图片
最初の行は、前に要素がないため、その前の値がNaNに補完される.隣接とは、その位置およびその前のwの各データである.
a.cov(b)はaとbの間の共分散行列を計算する
a.corr(b)相関行列の計算
 
 
同時にpandasライブラリも図面を描くことができます:Series.plot()描画時は0軸のインデックスをx軸、対応するインデックス値をy軸描画
DataFrame.plot()は、各列の要素をy軸、0軸インデックスをx軸として各列の画像を描く