目次 基本情報 ファイル入出力 CSV Excel(xls, xlsx) JSON pickle

スクレイピング(Webから情報取得) 他の型と変換 グラフ作成 行・列・要素を選択・抽出 行名・列名、行番号・列番号で選択 条件で抽出 ランダムサンプリング

要素を置換 行・列を削除 行・列を追加・連結・結合 行・列・要素に関数適用・ループ処理 行・列を入れ替え・再形成 行を並べ替え(ソート) 文字列を処理 数値を処理 欠損値NaNを処理 インデックス(行見出し・列見出し)を処理 データ前処理 データ分析 マルチインデックス(階層型インデックス) 時系列データ pandas参考書 そのほか

基本情報

pandasのバージョンを確認(pd.show_versions) 行数、列数、全要素数(サイズ)を取得 pandasのデータ型dtype一覧とastypeによる変換(キャスト) 先頭・末尾の行を返すheadとtail 表示設定変更(小数点以下桁数、有効数字、最大行数・列数など) オプション設定を確認・変更する方法 pandas.Seriesのインデックスと値を入れ替え(スワップ) pandas.DataFrameの行番号、列番号を取得 pandasからNumPyの関数などを使う方法(pd.np)

ファイル入出力 CSV

csv/tsvファイル読み込み(read_csv, read_table) csvファイルの書き出し・追記(to_csv)

Excel(xls, xlsx)

Excelファイル(xlsx, xls)の読み込み(read_excel) Excelファイル(xlsx, xls)の書き込み(to_excel)

JSON

JSON文字列・ファイルを読み込み(read_json) pandas.DataFrameをJSON文字列・ファイルに変換・保存(to_json) 辞書のリストをDataFrameに変換(json_normalize)

pickle

pickleで保存、読み込み(to_pickle, read_pickle)

スクレイピング(Webから情報取得)

pandas-datareaderで株価や人口のデータを取得 webページの表(htmlのtable)をスクレイピング

他の型と変換

NumPy配列ndarrayと相互変換 Python標準のリストと相互変換 辞書に変換(to_dict)

グラフ作成

plotメソッドでグラフを作成しデータを可視化 pandas, seabornでヒートマップを作成 pandas, seabornでペアプロット図(散布図行列)を作成

行・列・要素を選択・抽出 行名・列名、行番号・列番号で選択

任意の位置の値を取得・変更するat, iat, loc, iloc インデックス参照で行・列を選択し取得

条件で抽出

行を条件で抽出するquery 複数条件のand, or, notから行を抽出(選択) 特定の文字列を含む行を抽出(完全一致、部分一致) 重複した行を抽出・削除 特定の型dtypeの列を抽出(選択) 条件を満たす行名・列名の行・列を抽出(選択)

ランダムサンプリング

行・列をランダムサンプリング(抽出)するsample

要素を置換

要素の値を置換するreplace mapメソッドで列の要素を置換 条件に応じて値を代入(where, mask)

行・列を削除

行・列を指定して削除するdrop 重複した行を抽出・削除

行・列を追加・連結・結合

列・行を追加(assign, appendなど) pandas.DataFrame, Seriesを連結するconcat pandas.DataFrameを結合するmerge, join(列・インデックス基準)

行・列・要素に関数適用・ループ処理

要素、行、列に関数を適用するmap, applymap, apply forループ処理(イテレーション)

行・列を入れ替え・再形成

pandas.DataFrameの行と列を入れ替える(転置) stack, unstack, pivotを使ってデータを整形

行を並べ替え(ソート)

sort_values, sort_indexデソート shuffleでランダムソート(シャッフル)

文字列を処理

文字列を区切り文字や正規表現で複数の列に分割 複数の列の文字列を結合して新たな列を生成 文字列の置換や空白削除など 文字列から正規表現で抽出して新たな列を生成 文字列と数値を相互変換、書式変更 文字列にスライスを適用して任意の位置・長さの部分を抽出

数値を処理

数値を丸める(四捨五入、偶数への丸め)

欠損値NaNを処理

欠損値NaNを除外(削除)・置換(穴埋め)・抽出 欠損値NaNが含まれているか判定、個数をカウント 欠損値NaNを前後の値から補間するinterpolate

インデックス(行見出し・列見出し)を処理

行名・列名の変更 列をインデックス(行名)に割り当てるset_index インデックスを振り直すreset_index

データ前処理

get_dummiesでカテゴリ変数をダミー変数に変換 cut, qcutでビニング処理(ビン分割)

データ分析

describeで各列の要約統計量(平均、標準偏差など)を取得 ピボットテーブルでカテゴリ毎の統計量などを算出 ユニークな要素の個数、頻度(出現回数)をカウント 特定の条件を満たす要素数をカウント(全体、行・列ごと) GroupByでグルーピングし統計量を算出 crosstabでクロス集計(カテゴリ毎の出現回数・頻度を算出) corrで各列間の相関係数を算出、ヒートマップで可視化 modeで行・列ごとの最頻値を取得 idmax, idminで最大値・最小値の行名・列名を取得 rankで順位付け

マルチインデックス(階層型インデックス)

Multiindexの指定・追加・解除・ソート・レベル変更 MultiIndexから任意の行・列を選択、抽出 Multiindexで階層ごとの統計量・サンプル数を算出

時系列データ

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ほか)

そのほか

クリップボードの中身をDataFrameとして取得するread_clipboard DataFrameをクリップボードにコピーするto_clipboard pandasの要素としてリストを格納し処理

シェア

関連カテゴリー

Python pandas まとめ

Python, pandasでwebページの表(htmlのtable)をスクレイピング PythonでRESAS APIを使ってデータをダウンロード pandasの時系列データにおける頻度(引数freq)の指定方法 pandasで複数条件のand, or, notから行を抽出(選択) pandasでユニークな要素の個数、頻度(出現回数)をカウント Python, pandas, seabornでペアプロット図(散布図行列)を作成 pandasのMultiindexの指定・追加・解除・ソート・レベル変更 pandasで要素、行、列に関数を適用するmap, applymap, apply pandas.DataFrameの行と列を入れ替える(転置) pandas.DataFrame, Seriesの先頭・末尾の行を返すheadとtail pandasで行数、列数、全要素数(サイズ)を取得 pandas.DataFrameのforループ処理(イテレーション) pandas.DataFrame, Seriesのインデックスを振り直すreset_index pandasで文字列と数値を相互変換、書式変更 pandasの表示設定変更(小数点以下桁数、有効数字、最大行数・列数など)

Last Updated: 6/26/2019, 10:34:03 PM