勉強の為にシェアしました。
関連情報:
Pandasとは
Google検索結果はこちら
この記事は最終更新日から1年以上が経過しています。
おつかれさまです、かきうち(@kakistuter)です。
すぐ忘れちゃうので、pandasのDataFrameのデータ操作の簡単早見表作りました。
すぐ忘れちゃうので、pandasのDataFrameのデータ操作の簡単早見表作りました。
事前にimport
import pandas as pd
import numpy as np
データ読み取り編
CSVの読み取り
df = pd.read_csv("ファイル名", header=None)
# `header=None`を指定せず`pd.read_csv("ファイル名")`とした場合は1行目が自動的にカラム名として挿入される
コピーの読み取り
df = pd.read_clipboard(header=None)
# `header=None`を指定せず`pd.read_clipboard()`とした場合は1行目が自動的にカラム名として挿入される
DataFrameの自作
df = pd.DataFrame(np.arange(12).reshape(4,3),index=['行名1','行名2', '行名3', '行名4'], columns=['カラム名1','カラム名2', 'カラム名3'])
# `index=[]`や`column=[]`を指定しない場合は、順に1,2,3・・・となる
# データは`np.arange(12).reshape(4,3)`といった`array`であること
データ抽出編
全カラム名の取得
df.columns
最初の数データ取得
df.head(行数)
各種情報取得
df.describe()
1行の取得
df.loc['行名']
# 出力はSeries型
df.loc[['行名']]
df.iloc[2]
# 出力はSeries型
# カッコ内の数値は先頭を0とるす行番号
df.iloc[[2]]
# カッコ内の数値は先頭を0とるす行番号
複数行の取得
df.loc[['行名','行名']]
df.iloc[[2,3]]
# カッコ内の数値は先頭を0とるす行番号
df.iloc[2:4, :]
# カッコ内の数値はスライス形式で[行の開始位置:行の終了位置-1]
1カラムの取得
df['カラム名']
# 出力はSeries型
df[['カラム名']]
df.loc[:, ['カラム名']]
df.iloc[:, [1]]
# カッコ内の数値は先頭を0とるすカラム番号
複数カラムの取得
df[['カラム名','カラム名']]
df.loc[:, ['カラム名','カラム名']]
df.iloc[:, [1,2]]
# カッコ内の数値は先頭を0とるすカラム番号
1行1列ピンポイントで取得
df.loc['行名', 'カラム名']
# 出力は値のみ
df.loc['行名']['カラム名']
# 出力は値のみ
df.loc[['行名'], ['カラム名']]
df.iloc[2,1]
# 出力は値のみ
# カッコ内の数値は先頭を0とする[行番号,カラム番号]
df.iloc[[2], [1]]
# カッコ内の数値は先頭を0とする[[行番号],[カラム番号]]
df.at['行名', 'カラム名']
# 出力は値のみ
df.iat[2,1]
# 出力は値のみ
# カッコ内の数値は先頭を0とする[行番号,カラム番号]
複数行複数列を指定して取得
df.loc[['行名','行名'], ['カラム名','カラム名']]
df.iloc[[2,3], [1,2]]
# カッコ内の数値は先頭を0とする[[行番号,行番号], [カラム番号, カラム番号]]
df.iloc[2:4,1:3]
# カッコ内の数値はスライス形式で[行の開始位置:行の終了位置-1, カラムの開始位置:カラムの終了位置-1]
データ削除編
1行の削除
df.drop('行名')
複数行の削除
df.drop(['行名','行名'])
1カラムの削除
df.drop('カラム名', axis =1)
複数カラムの削除
df.drop(['カラム名','カラム名'], axis =1)
データ結合編
横方向に結合
pd.concat([df1, df2], axis =1)
データ変換編
arrayに変換
df.values
dframeに再変換
pd.DataFrame(df.values, index=['行名1','行名2', '行名3', '行名4'], columns=['カラム名1','カラム名2', 'カラム名3'])
csvに出力
df.to_csv("ファイル名.csv")
データ更新編
単一データの更新
データ取得して代入するのみ
複数データの一括更新
ただし代入される側とする側の行数、列数を合わせることは必須。
型もそろえた方が無難(型の違いによる意図しない行列入れ違いが発生するため)。
型もそろえた方が無難(型の違いによる意図しない行列入れ違いが発生するため)。
ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
- あなたにマッチした記事をお届けしますユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
- 便利な情報をあとで効率的に読み返せます気に入った記事を「ストック」することで、あとからすぐに検索できます
0 件のコメント:
コメントを投稿