機械学習勉強記録 Pandasの基礎
Pandasとは
機械学習のプログラミングでよく用いられるライブラリで、データ解析を容易にする機能を持っています。
データフレーム(DataFrame)などの独自のデータ構造によって様々な処理が可能になります。
モジュール、パッケージ、ライブラリについて
- モジュール…関数を格納する部品のようなもの。「.py」というテキストファイル。例えるなら基盤。
- パッケージ…モジュールの集まり。例えるなら炊飯器。
- ライブラリ…パッケージをいくつかまとめてインストールできるようにしたもの。例えるならキッチン。
Pandas基本操作
Pandasのインストール
import pandas as pd
と最初に入力しておけば、そのファイル内でpd
と入力すればPandasのライブラリの中にある機能を使うことができるようになります。
データの読み込み
csvファイルを読み込む時はこのようにします。
# CSVファイルの読み込み
pd.read_csv('sample.csv')
# 読み込んだCSVファイルをdfという変数に代入
df = pd.read_csv('sample.csv')
このような形で、読み込まれた時、データの型は、
type(df)
"""
出力結果 : pandas.core.frame.DataFrame
"""
となります。これはデータフレームと呼ばれる型であることを意味しています。
読み込んだデータを確認する方法として、
df.shape
データの形を表示(行数、列数を確認)
df.head(3)
データフレームの上から3行を表示
df.tail(3)
データフレームの下から3行を表示
などがあります。
データの切り分け
iloc
メソッドを使います。
# 1行目、1列目を切り出してtに代入
t = df.iloc[0, 0]
# 全ての行、1列目を切り出してtに代入
t = df.iloc[:, 0]
# 全ての行、2列目以降を切り出してtに代入
t = df.iloc[:, 1:]
# 列名(ラベル)を直接指定して切り出してtに代入
t = df['A']
t = df.loc[:, 'A']
# 複数の列名(ラベル)を指定して切り出してtに代入
t = df.loc[:, ['A', 'B']]
iloc
とloc
の違い
loc
行ラベル、 列ラベルを指定して切り出し
iloc
行の番号(0 ~ )、列の番号(0 ~ )を指定して切り出し
データの並び替え
sort_value
メソッドを使います。
# Aの列を昇順で並び替え
df.sort_values('A')
# Aの列を降順で並び替え
df.sort_values('A', ascending=False)
列の追加・削除
drop
メソッドを使います。
#aという変数に3行1列のデータフレームを代入
a = pd.DataFrame([[1],[2],[3]])
# Aというラベル名の列にaを追加
df['A'] = a
# dfからAというラベル名の列の削除
df.drop(labels='A',axis=1)
追加の際は、追加する列の行数が追加するデータフレームの行数と一致していないとエラーが起こります。
axis=1
は列方向に削除
axis=0
は行方向に削除
するための引数です。
データの絞り込み
A列の値が3のデータだけ表示させる時は、
# dfというデータフレームで、A列の値が3の行を表示
df[df['A'] == 3].head()
となります。
複数条件をつける時は、
# dfというデータフレームで、A列の値が3、かつBの値が4の行を表示
df[(df['A'] == 3) & (df['B'] == 4)].head()
# dfというデータフレームで、A列の値が3、またはBの値が4の行を表示
df[(df['A'] == 3) | (df['B'] == 4)].head()
となります。
Author And Source
この問題について(機械学習勉強記録 Pandasの基礎), 我々は、より多くの情報をここで見つけました https://qiita.com/kino44/items/1b4fed4f8358981d22b2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .