pandas関連記事まとめ
目次
スポンサーリンク
基本情報
- pandasのバージョンを確認(pd.show_versions)
- 行数、列数、全要素数(サイズ)を取得
- pandasのデータ型dtype一覧とastypeによる変換(キャスト)
- 先頭・末尾の行を返すheadとtail
- 表示設定変更(小数点以下桁数、有効数字、最大行数・列数など)
- オプション設定を確認・変更する方法
- pandas.Seriesのインデックスと値を入れ替え(スワップ)
- pandas.DataFrameの行番号、列番号を取得
- pandasからNumPyの関数などを使う方法(pd.np)
ファイル入出力
CSV
Excel(xls, xlsx)
JSON
- JSON文字列・ファイルを読み込み(read_json)
- pandas.DataFrameをJSON文字列・ファイルに変換・保存(to_json)
- 辞書のリストをDataFrameに変換(json_normalize)
pickle
スクレイピング(Webから情報取得)
他の型と変換
グラフ作成
行・列・要素を選択・抽出
行名・列名、行番号・列番号で選択
条件で抽出
- 行を条件で抽出するquery
- 複数条件のAND, OR, NOTから行を抽出(選択)
- 特定の文字列を含む行を抽出(完全一致、部分一致)
- 重複した行を抽出・削除
- 特定の型dtypeの列を抽出(選択)
- 条件を満たす行名・列名の行・列を抽出(選択)
ランダムサンプリング
要素を置換
行・列を削除
行・列を追加・連結・結合
- 列・行を追加(assign, appendなど)
- pandas.DataFrame, Seriesを連結するconcat
- pandas.DataFrameを結合するmerge, join(列・インデックス基準)
行・列・要素に関数適用・ループ処理
行・列を入れ替え・再形成
行を並べ替え(ソート)
文字列を処理
- 文字列を区切り文字や正規表現で複数の列に分割
- 複数の列の文字列を結合して新たな列を生成
- 文字列の置換や空白削除など
- 文字列から正規表現で抽出して新たな列を生成
- 文字列と数値を相互変換、書式変更
- 文字列にスライスを適用して任意の位置・長さの部分を抽出
数値を処理
欠損値NaNを処理
インデックス(行見出し・列見出し)を処理
データ前処理
データ分析
- describeで各列の要約統計量(平均、標準偏差など)を取得
- ピボットテーブルでカテゴリ毎の統計量などを算出
- ユニークな要素の個数、頻度(出現回数)をカウント
- 特定の条件を満たす要素数をカウント(全体、行・列ごと)
- GroupByでグルーピングし統計量を算出
- crosstabでクロス集計(カテゴリ毎の出現回数・頻度を算出)
- corrで各列間の相関係数を算出、ヒートマップで可視化
- modeで行・列ごとの最頻値を取得
- idmax, idminで最大値・最小値の行名・列名を取得
- rankで順位付け
マルチインデックス(階層型インデックス)
時系列データ
- pandas.DataFrame, Seriesを時系列データとして処理
- 時系列データの曜日や月、四半期、年ごとの合計や平均を算出
- 日付・時間の列を処理(文字列変換、年月日抽出など)
- 時系列データにおける頻度(引数freq)の指定方法
- 時系列データをリサンプリングするresample, asfreq
- 窓関数を適用するrollingを使って移動平均などを算出
- 行・列の差分・変化率を取得するdiff, pct_change
- データを行・列(縦・横)方向にずらすshift
- 時系列データのタイムゾーンを処理(tz_convert, tz_localize)
pandas参考書
- 『Python Data Science Handbook』(英語の無料オンライン版あり)
- 『Pythonによるデータ分析入門』の注意点
- 『Python for Data Analysis, 2nd Edition』
- 『Pythonデータサイエンスハンドブック』は良書(NumPy, pandasほか)
そのほか
スポンサーリンク