Pythonはデータ分析に広く使用されているプログラミング言語で、その中でもJupyterとPandasはPythonの重要なライブラリです。
Jupyterとは
Jupyterはブラウザ上で、REPLのようなインタラクティブにプログラムを実行するためのツールです。セルと呼ばれる単位でプログラムを記述していき実行すると結果はそのすぐ下に表示されます。
Pandasとは
Pandasはデータフレーム形式で、データを扱うものになります。データフレームとは、RDBのテーブルやCSV, Excelのテーブルのような形式です。
Pandasの基本操作
PandasのDataFrameに対する基本操作を見てみましょう。
import pandas as pd
# CSVファイルから読み込む
df = pd.read_csv("data.csv") # ヘッダーがある場合
df = pd.read_csv("data.csv", header=None) # ヘッダーがない場合
df = pd.read_csv("data.csv", names=["id", "target", "data1", "data2", "data3"]) # ヘッダーがなく列名を指定したい場合
# データの内容を確認
df.head() # 先頭の5行
df.tail() # 最後の5行
df[10:20] # 11行目から20行目だけを抜き出す
df[10:] # 11行目から最後までを抜き出す
df.loc[10] # 11行目のみを確認
df[["target", "data1"]] # 特定の列のみを抜き出す
df["data1"] # 特定の列のみを抜き出す(DataFrameでなくSeriesになる)
df[["target", "data1"]][10:20] # 特定の行範囲の特定の列のみを抜き出す
# データの形式を確認
df.shape
df.columns
df.dtypes
# 列に対して演算
df["data1"] / 100 # 各要素に対して / 100 という演算をして、結果をSeriesで取得
df["data1"] + df["data2"] # 列同士の演算
# 行を条件で抽出
df[df["data1"] >= 0] # df["data1"] >= 0 がTrueとなる行のみからなるDataFrameを生成
df.query('data1 >= 30 and target == 1') # SQLみたいにクエリすることもできる
# 数値の列についての統計量を取得
df.describe()
# ソート
df.sort_values("data1") # data1列の昇順
df.sort_values("data1", ascending=False) # data1列の降順
df.sort_values(["target", "data1"], ascending=False) # 複数の列で並び替え
# 列を追加
df["data_sum"] = df["data1"] + df["data2"] + df["data3"] # 既存の列に演算を施した新しい値の列を右端に追加
これらの基本操作をマスターすることで、PythonとPandasを使ったデータ分析がよりスムーズになります。.