Pythonデータ分析のpandas基礎

8222 ワード

1、Seriesの作成
シーケンスの作成には、主に3つの方法があります.
1)1次元配列によるシーケンスの作成
import numpy as np, pandas as pd
arr1 = np.arange(10)
arr1
type(arr1)
s1 = pd.Series(arr1)
s1
type(s1)

2)辞書によるシーケンスの作成
dic1 = {'a':10,'b':20,'c':30,'d':40,'e':50}
dic1
type(dic1)
s2 = pd.Series(dic1)
s2
type(s2)

3)DataFrameの行または列からシーケンスを作成する
この部分は後述します.DataFrameの作成が開始されるからです.
2、DataFrameの作成
データ・ボックスの作成には、主に3つの方法があります.
データ・ボックスの作成には、主に3つの方法があります.
arr2 = np.array(np.arange(12)).reshape(4,3)
arr2
type(arr2)
df1 = pd.DataFrame(arr2)
df1
type(df1)

2)辞書によるデータボックスの作成
次の2つの辞書でデータ・ボックスを作成します.1つは辞書のリストで、1つはネストされた辞書です.
dic2 = {'a':[1,2,3,4],'b':[5,6,7,8],
'c':[9,10,11,12],'d':[13,14,15,16]}
dic2
type(dic2)
df2 = pd.DataFrame(dic2)
df2
type(df2)
dic3 = {'one':{'a':1,'b':2,'c':3,'d':4},
'two':{'a':5,'b':6,'c':7,'d':8},
'three':{'a':9,'b':10,'c':11,'d':12}}
dic3
type(dic3)
df3 = pd.DataFrame(dic3)
df3
type(df3)

3)データ枠によるデータ枠の作成
df4 = df3[['one','three']]
df4
type(df4)
s3 = df3['one']
s3
type(s3)

2、データ索引index
細かい友人は、シーケンスでもデータボックスでも、オブジェクトの一番左に非元のデータオブジェクトがある現象を発見するかもしれません.これは何ですか.いいですね.これから紹介するインデックスです.私から見れば、シーケンスまたはデータ・ボックスのインデックスには、インデックス値またはインデックス・ラベルを使用してターゲット・データを取得することと、インデックスを使用してシーケンスまたはデータ・ボックスの計算、操作を自動化して整列させることの2つの大きなメリットがあります.次に、この2つの機能の応用を見てみましょう.
1.インデックス値またはインデックスラベルからデータを取得する
s4 = pd.Series(np.array([1,1,2,3,5,8]))
s4

シーケンスに指定したインデックス値を指定しない場合、シーケンスは0から始まる自己増加インデックスを自動的に生成します.シーケンスのインデックスはindexで表示できます.
s4.index

シーケンスにカスタムインデックス値を設定します.
s4.index = ['a','b','c','d','e','f']
s4

シーケンスにインデックスがあれば、インデックス値またはインデックスラベルを使用してデータを取得できます.
s4[3]
s4['e']
s4[[1,3,5]]
s4[['a','b','d','f']]
s4[:4]
s4['c':]
s4['b':'e']

2、自動整列
2つのシーケンスがある場合、この2つのシーケンスを演算する必要がある場合、インデックスの存在はその価値を体現します.自動化された位置合わせです.
s5 = pd.Series(np.array([10,15,20,30,55,80]),
index = ['a','b','c','d','e','f'])
s5
s6 = pd.Series(np.array([12,11,13,15,14,16]),
index = ['a','c','g','b','d','f'])
s6
s5 + s6
s5/s6

s 5には対応するgインデックスがなく、s 6には対応するeインデックスがないため、データの演算は2つの欠落値NaNを生成する.ここでの算術結果は、単純に2つのシーケンスを合計または除去するのではなく、2つのシーケンスインデックスの自動整列を実現することに注意してください.データ・ボックスの位置合わせは、行インデックスの自動位置合わせだけでなく、列インデックス(変数名)のデータ・ボックスにもインデックスが自動的に位置合わせされます.また、データ・ボックスは2次元配列の広がりであるため、行インデックスだけでなく、列インデックスも存在します.