トッカンソフトウェア

Python Pandas

Pandasはデータ解析を行うためのライブラリです。

今回はJupyterLabを使用して動作確認していきます。

インストール

以下のコマンドで行います。
				
conda install pandas

			

実行

初期値セット
				
import pandas as pd

df = pd.DataFrame([
    [1, 2, 3],
    [1, 5, 6],
    [7, 8, 9],
    [10, 11, 12],
    [13, 14, 15],
    [16, 17, 18]], columns=['a', 'b', 'c'])
df

			
				
	a	b	c
0	1	2	3
1	1	5	6
2	7	8	9
3	10	11	12
4	13	14	15
5	16	17	18

			

指定カラムだけ処理する場合
				
df[['a', 'b']]

			
				
	a	b
0	1	2
1	1	5
2	7	8
3	10	11
4	13	14
5	16	17

			

新しいカラムに値をセット
				
df['d']= df['a'] * df['b'] 
df

			
				
	a	b	c	d
0	1	2	3	2
1	1	5	6	5
2	7	8	9	56
3	10	11	12	110
4	13	14	15	182
5	16	17	18	272

			

カラム削除
				
df2 = df.drop(['c', 'd'], axis=1)
df2

			
				
	a	b
0	1	2
1	1	5
2	7	8
3	10	11
4	13	14
5	16	17

			

データの先頭部分を表示。デフォルト5行で引数に行数を指定できる
				
df.head()

			
				
	a	b	c	d
0	1	2	3	2
1	1	5	6	5
2	7	8	9	56
3	10	11	12	110
4	13	14	15	182

			

データの末尾部分を表示。デフォルト5行で引数に行数を指定できる
				
df.tail()

			
				
	a	b	c	d
1	1	5	6	5
2	7	8	9	56
3	10	11	12	110
4	13	14	15	182
5	16	17	18	272

			

データをランダムに表示。デフォルト1行で引数に行数を指定できる
				
df.sample(3)

			
				
	a	b	c	d
0	1	2	3	2
4	13	14	15	182
3	10	11	12	110

			

範囲の取得
				
df[['a', 'b']][0:3]

			
				
	a	b
0	1	2
1	1	5
2	7	8

			

グループ化(外部にインデックス)
				
df.groupby(['a', 'b'], as_index=False).mean()

			
				
	a	b	c	d
0	1	2	3	2
1	1	5	6	5
2	7	8	9	56
3	10	11	12	110
4	13	14	15	182
5	16	17	18	272

			

グループ化(カラムがインデックス)
				
df.groupby(['a', 'b']).mean()

			
				
			c	d
	a	b		
	1	2	3	2
		5	6	5
	7	8	9	56
	10	11	12	110
	13	14	15	182
	16	17	18	272

			

ソート
				
df.sort_values(by='b', ascending=False)

			
				
	a	b	c	d
5	16	17	18	272
4	13	14	15	182
3	10	11	12	110
2	7	8	9	56
1	1	5	6	5
0	1	2	3	2

			

データの概要表示
				
df.describe()

			
				
	a	b	c	d
count	6.000000	6.000000	6.000000	6.000000
mean	8.000000	9.500000	10.500000	104.500000
std	6.196773	5.612486	5.612486	106.631609
min	1.000000	2.000000	3.000000	2.000000
25%	2.500000	5.750000	6.750000	17.750000
50%	8.500000	9.500000	10.500000	83.000000
75%	12.250000	13.250000	14.250000	164.000000
max	16.000000	17.000000	18.000000	272.000000

			

データの概要表示
				
df.info()

			
				
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6 entries, 0 to 5
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   a       6 non-null      int64
 1   b       6 non-null      int64
 2   c       6 non-null      int64
 3   d       6 non-null      int64
dtypes: int64(4)
memory usage: 320.0 bytes

			


ページのトップへ戻る