マガジンのカバー画像

Python pandas

14
pandasの関数やメソッド使い方
運営しているクリエイター

記事一覧

python pandas 指定文字を含む行を削除する

データフレームの中で指定列にある指定文字を含む行の削除を行う。 まず、指定列に指定文字があるかbool(True or False)で取得する。 judge = df[ "カラム名" ].str.contains( "指定する文字" ) 次にdropメソッドで削除を行う。 df.drop( df[ judge ].index, inplace=True ) 「df[ judge ].index」はboolがTrueとなったindex番号を取得する。 これをdropメソッドの第

python pandas groupby

各カラムで同じ値となる要素の、別カラムでの数値を操作する groupbyメソッド。 データフレームからgroupbyを呼出す。 groupbyメソッドの第一引数( by )にまとめる要素とするカラム名を設定し、任意の関数を付ける。 df.groupby( by=[ "カラム名" ] ).sum( ) *設定しなかったカラムは消去される 例(下表)として産地と品名が同じ場合、販売個数を足算する場合 df = df[['産地','品名','販売個数']].groupby(['

python pandas crosstab クロス集計

2つ以上の項目を交差させて集計する手法クロス集計を行う crosstab関数。 同じ値をカウントします、数値を足し算するわけではありません。 引数indexに基準の縦軸となるseriesを設定、引数columnsにクロス集計するseriesを設定する。 pandas.crosstab( index=df["カラム名"] , columns=df["カラム名"] ) 例(下表)として産地を基準にデータをまとめ、それを品名と価格2つのカテゴリで分割し集計する場合 df_new

python pandas value_conuts 出現回数を求める

同一カラム内にある、文字や数値の出現回数の合計値または確率を求める value_conutsメソッド。 データフレームのseriesからvalue_conutsメソッドを呼出し、オプション引数を設定する。 オプション引数:normalize 出現回数の確率を求める場合は「True」にする。 オプション引数:sort デフォルト「True」では出現回数が多い順になる。 「False」にすると並び順はそのままとなる。 df[ "カラム名" ].value_counts( ) 例

python pandas データに半角空白を末尾、先頭、前後に追加

半角空白を末尾に追加する、ljustメソッド。 半角空白をに先頭に追加する、rjustメソッド。 半角空白を前後に追加する、centerメソッド。 str型から各メソッドを呼び出し、第一引数に合計文字数、第二引数に追記する文字を空白以外の場合は設定。 pandasでは、データフレームのSeries内のデータに対して行うと、文字数がすべて同じに揃えることが可能となる。 Seriesからstrプロパティ、各メソッドを呼び出し、第一引数に合計文字数、第二引数に追記する文字を空白以

python pandas 日付

データフレーム(df)にカラム名「日付」があり、その列には日付が入力されているものとする。 object型からdatetime型に変更 object型からdatetime型に変更する、to_datetime関数。 第一引数に型の変更を行うSeriesを設定する。 df["日付"] = pandas.to_datetime( df["日付"] ) excelの日付シリアル値をdatetime型に変更する方法は、 オプション引数unitをDに、originを1899/12/

pandas 最大値、最小値の要素を取得する方法

データフレームの、ある列における最大値・最小値となる要素を取得するには、最大値の場合はidxmaxメソッドを使用、最小値の場合はidxminメソッドを使用し、最大値・最小値のindex番号を取得。その取得したindex番号を使用しlocプロパティで要素を取得する。 max_index = df[ "値段" ].idxmax 数値の最大値を求めるseries(値段の列)からidxmaxメソッドを呼出し、 最大値のあるindex番号を取得。 例の場合max_indexは「2」と

pandas データ取得 方法

pandasで読込んだデータの値を取得する方法 以降、変数dfにデータを入れたものとする 指定座標の値を取得 df[ カラム名 ][ インデックス ] カラム名とインデックス番号を指定する。 指定行を取得 df[ 開始インデックス : 終了インデックス ] インデックス番号をスライスで渡す。 指定列を取得 df[ カラム名 ] df[[ カラム名, カラム名, カラム名 ]] カラム名を指定する。角括弧でSeries、二重角括弧でDataFrameとなる。

python pandas drop_duplicates 重複する行を削除

データフレームの同一列内にある重複する行を削除する、 drop_duplicatesメソッド。 データフレームのオブジェクトからdrop_duplicatesメソッドを呼出し、 引数subsetに重複の削除を行うカラム名を設定。subsetは省略可能。 複数列を設定すると、指定列内すべて満たす場合削除される。 複数列を指定する場合は、リスト表記(角括弧内にコンマで区切り設定していく)。 引数keepにfirstで一番上になる行を残す、lastで一番下になる行を残す。 デフォル

Python pandas merge データフレームの結合

2つのデータフレームを1つに合体 pandas.merge( ) df = pandas.merge(df_a, df_b, on=[カラム名] , how="left") 2つのデータフレームの同一カラム名の同じ値の行の右に、片方のデータフレームを結合する。 第一引数と第二引数にデータフレームを指定する。 引数on に合体条件であるカラム名を指定する(複数可)。 引数how に下記いずれかを指定する(デフォルトはinner)。 how = "inner" : 2つのデー

Python pandas reindex 列の並び替え

データフレームの、列の順序入替えや、欲しい列のみに変更する、 reindexメソッド。 データフレームのオブジェクトからreindexメソッドを呼出し、 引数columnsに並び変える順番にカラム名をコンマで区切り設定していく。 この時に、必要なカラム名のみ設定すると、設定しなかったカラム名(列)は削除される。 df = df.reindex( columns=[ " カラム名 " , " カラム名 " ,・・・] ) エラーメッセージ cannot reindex on

Python pandas drop 列・行の削除

データフレームの、列・行の削除を行う dropメソッド。 データフレームのオブジェクトから dropメソッドを呼出し、 列を削除する場合は、引数columnsに削除するカラム名を設定し、 行を削除する場合は、引数indexに削除するindex番号を設定する。 複数の場合はリスト表記(角括弧内にコンマで区切り設定していく)。 引数inplace=True で元のデータフレームを変更する。 df.drop( columns="カラム名" , index=index番号 , inp

pandasでexcel数式のままデータを扱う方法

pandasでexcelを読込むread_excel関数では数式は結果を読込む。 pandasを使い、excelファイル内のデータをフィルタリングし、excelに戻す場合、数式のまま戻したい。 そのような場合は、始めにopenpyxlのload_workbook関数でオプション引数data_only=Falseを使いデータを読込み、pandasのデータフレームへ移す。 import pandasimport openpyxlwb = openpyxl.load_workbo

pandas excelファイル読み込み

pandasで読み込んだexcelファイルは、DataFrameオブジェクトになり、 データを表形式で保持します。 1行目各列がカラム名となり、2行目以降インデックスが自動採番される。 excelファイルを読み込むには、read_excel関数を使います。 第一引数にexcelファイル名+拡張子.xlsxを付け指定し、引数sheet_nameに シート名を指定する。 *第一引数はPathオブジェクトでも可 df = pandas.read_excel('excelファイル