両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン |
python:pandas [2018/03/08 02:11] – [データの追加] mumeiyamibito | python:pandas [2018/08/08 11:58] (現在) – [モジュールの読み込み] mumeiyamibito |
---|
| |
あるいは | あるいは |
<code python>import numpy as pd</code> | <code python>import pandas as pd</code> |
* ''as pd'' によって、以降 ''pd'' で呼び出せる。 | * ''as pd'' によって、以降 ''pd'' で呼び出せる。 |
* ここではこっちの読み込みをした場合で記述していく。 | * ここではこっちの読み込みをした場合で記述していく。 |
* 横に結合 (カラムの追加) \\ <code python>DATA_FRAME = pd.concat([DATA_FRAME1, DATA_FRAME2, ...], axis = 1)</code> | * 横に結合 (カラムの追加) \\ <code python>DATA_FRAME = pd.concat([DATA_FRAME1, DATA_FRAME2, ...], axis = 1)</code> |
* 縦に結合 (行の追加)\\ <code python>DATA_FRAME = pd.concat([DATA_FRAME1, DATA_FRAME2, ...])</code> | * 縦に結合 (行の追加)\\ <code python>DATA_FRAME = pd.concat([DATA_FRAME1, DATA_FRAME2, ...])</code> |
| * 参考サイト: [[http://sinhrks.hatenablog.com/entry/2015/01/28/073327 | Python pandas 図でみる データ連結 / 結合処理 - StatsFragments]] |
* データの欠損は ''NaN'' 扱いとなる。''NaN'' を置換するには ''.fillna()'' を使う。\\ <code python>DATA_FRAME.fillna("")</code> | * データの欠損は ''NaN'' 扱いとなる。''NaN'' を置換するには ''.fillna()'' を使う。\\ <code python>DATA_FRAME.fillna("")</code> |
* 上記の例では、''NaN'' が空の文字列に置換される。 | * 上記の例では、''NaN'' が空の文字列に置換される。 |
* 参考サイト: [[http://sinhrks.hatenablog.com/entry/2015/01/28/073327 | Python pandas 図でみる データ連結 / 結合処理 - StatsFragments]] | * 参考サイト: [[https://note.nkmk.me/python-pandas-nan-dropna-fillna/ | pandasで欠損値NaNを除外(削除)・置換(穴埋め)する | Python / note.nkmk.me]] |
| |
| ==== 値の取得・変更 ==== |
| * 行ラベルと列ラベルで指定した値を取得\\ <code python>DF.at[ROW_LABEL, COL_LABEL]</code> |
| * ''DF'': データフレーム変数 |
| * ''ROW_LABEL'': 行ラベル |
| * ''COL_LABEL'': 列ラベル |
| * 行ラベルと列ラベルで指定した値を変更\\ <code python>DF.at[ROW_LABEL, COL_LABEL] = VALUE</code> |
| * ''DF'': データフレーム変数 |
| * ''ROW_LABEL'': 行ラベル |
| * ''COL_LABEL'': 列ラベル |
| * ''VALUE'': 新しい値 |
| * 行番号と列番号で指定した値を取得\\ <code python>DF.iat[ROW_INDEX, COL_INDEX]</code> |
| * ''DF'': データフレーム変数 |
| * ''ROW_INDEX'': 行番号 |
| * ''COL_INDEX'': 列番号 |
| * 行番号と列番号で指定した値を変更\\ <code python>DF.iat[ROW_INDEX, COL_INDEX] = VALUE</code> |
| * ''DF'': データフレーム変数 |
| * ''ROW_INDEX'': 行番号 |
| * ''COL_INDEX'': 列番号 |
| * ''VALUE'': 新しい値 |
| * 参考サイト: [[https://note.nkmk.me/python-pandas-at-iat-loc-iloc/ | pandasで任意の位置の値を取得・変更するat, iat, loc, iloc | Python / note.nkmk.me]] |
| |
==== データフレームのサイズ確認 ==== | ==== データフレームのサイズ確認 ==== |
* ''.index'' や ''.columns'' で取得したカラム名やインデックス名のリストを ''len()'' を使って取得する。 | * ''.index'' や ''.columns'' で取得したカラム名やインデックス名のリストを ''len()'' を使って取得する。 |
* ''DATA_FRAME.shape'' でインデックスとカラム数を同時に取得する。 | * ''DATA_FRAME.shape'' でインデックスとカラム数を同時に取得する。 |
| |
| ==== ファイルの読み込み ==== |
| * テキストファイルの場合\\ <code python>DF = pd.read_table("INPUT.txt", names = [LABEL1, LABEL2, ...])</code> |
| * ''DF'': データフレームを格納する変数 |
| * ''INPUT.txt'': 入力ファイル |
| * ''LABEL1, LABEL2,...'': カラム名 |
| |
| ==== CSV ファイルの読み書き ==== |
| * 読み込み\\ <code python>DF = pd.read_csv(CSV_FILE[, OPTION])</code> |
| * ''DF'': データフレームを格納する変数 |
| * ''CSV_FILE'': CSV ファイルのパス |
| * ''OPTION'': その他のオプション (任意) |
| * この場合、1 行目が列ラベルとして割り当てられる。 |
| * 列ラベルの指定方法 |
| * 1 行目をラベルとして割り当てたくない場合は、''OPTION'' に ''header = None'' を指定する。 |
| * 任意の列ラベルを指定する場合は、''OPTION'' に ''name = (LABEL1, LABEL2, ...)'' を付け、''LABEL1'' や ''LABEL2'' に列ラベルを指定していく。 |
| * 特定の行を列ラベルとして指定する場合は、''OPTION'' に ''header = NUM'' の ''NUM'' に行番号 (0 から始まる) を指定する。この場合、指定した行より上の行は無視される。 |
| * 行ラベルの指定方法 |
| * 特定の列を行ラベルを指定する場合は、''OPTION'' に ''index_col = NUM'' の ''NUM'' に列番号 (0 から始まる) を指定する。 |
| * 書き出し\\ <code python>DF.to_csv(CSV_FILE[, OPTION])</code> |
| * ''DF'': データフレームが格納された変数 |
| * ''CSV_FILE'': 出力する CSV ファイルのパス |
| * ''OPTION'': その他のオプション (任意) |
| * 特定の列のみを書き出す場合、''OPTION'' に ''columns = [LABEL1, LABEL2, ...]'' を追加し、''LABEL1'' や ''LABEL2'' に書き出す列ラベルを指定していく。 |
| * 列ラベルや行ラベルも書き出す場合は、''OPTION'' に ''header'' (列ラベル) や ''index'' (行ラベル) を追加し、''TRUE'' や ''FALSE'' で ON/OFF を切り替える。デフォルトは両方 ''True'' |
| * 区切り文字を指定する場合は、''OPTION'' に ''sep = SEP'' を追加し、''SEP'' に区切り文字を指定する。''SEP'' に ''\t'' を指定すると、TSV 形式のファイルで出力できる。 |
| * 参考サイト: |
| * [[https://note.nkmk.me/python-pandas-read-csv-tsv/ | pandasでcsv/tsvファイル読み込み(read_csv, read_table) | Python / note.nkmk.me]] |
| * [[https://note.nkmk.me/python-pandas-to-csv/ | pandasでcsvファイルの書き出し・追記(to_csv) | Python / note.nkmk.me]] |
| |
| |
{{tag>プログラミング}} | {{tag>プログラミング}} |
| |