Python PANDAS

Pandasとは

データ分析(データサイエンス)ライブラリ
・データの統計量表示
・データのグラフ化

配列

配列

import pandas as pd

s = pd.Series([1, 2, 3, 4])
s
0 1
1 2
2 3
3 4

s[1]
2

s.sum()
10

連想配列

import pandas as pd

dic = pd.DataFrame({'A': [10, 20], 'B': [15, 45]})
dic
 A B
0 10 15
1 20 45

Index

DBにおけるテーブルの様な概念
a = pd.DataFrame(
    [[1,1,1,],[2,1,2],[3,2,3]],
    #Indexオブジェクト:Index名
    index=["one","two","three"],
    #Indexオブジェクト:カラム名
    columns=["a","b","c"]
    )
print(a)
   a b c
one  1 1 1
two  2 1 2
three 3 2 3

print(a.index)
# Index(['one', 'two', 'three'], dtype='object')

print(a.index[1])
# two
# 0~2まで

print(a.index[0:3])
Index(['one', 'two', 'three'], dtype='object')

print(a.columns)
# Index(['a', 'b', 'c'], dtype='object')
# Indexオブジェクトは変更不可

a.index[1] = 'new' # エラー

Index名を変更した新しいDataFrameを取得
b = a.rename(index={'two':'new'})
print(b.index)
# Index(['one', 'new', 'three'], dtype='object')

Indexオブジェクトの置き換え
a.rename(index={'two':'new'}, inplace=True)
print(a.index)
# Index(['one', 'new', 'three'], dtype='object')

CSV操作

JupyterNotebookカレントディレクトリ

import os

os.getcwd()
'C:\\Users\\~\\Desktop'

CSVファイルの読込

JupyterNotebookでuploadしたCSVファイルの読込
import pandas as pd

df= pd.read_csv('~.csv')
df= pd.read_csv('~.csv', sep=',')

指定行、列表示

先頭5行表示
df.head()

先頭10行表示
df.head(10)

末尾5行表示
df.tail()

末尾10行表示
df.tail(10)

指定列のみ
df[['列1','列5']].head(10)

列番号で指定
df[5:10].head(10)

指定行(全列)
※0から
df.loc[100]

指定行、指定列
df.iloc[[1,2,5][2,4]]
df.iloc[[行1,行2,行5][列2,列4]]

条件を指定
df[df['列名'] > 450]

複数条件を指定
df[['列名1', '列名2']].query('列名1 > ~ and 列名2 == "~"')

重複を削除して表示
df['列名'].unique()
array(['値1', '値2', '値3'])

重複削除
result = df['列名'].drop_duplicates()

データ情報

行数、列数
print(df.shape)
(行数, 列数)

データ型
print(df.dtypes)

列1 object
列2 int64
列3 float64

要約統計量
result = df['列名'].describe()

count 要素の個数
mean 算術平均
std 標準偏差
min 最小値
max 最大値
50% 中央値(median)
25% 1/4分位数
75% 3/4分位数

コメントを残す

メールアドレスが公開されることはありません。