記事一覧
python pandas 指定文字を含む行を削除する
データフレームの中で指定列にある指定文字を含む行の削除を行う。
まず、指定列に指定文字があるかbool(True or False)で取得する。
judge = df[ "カラム名" ].str.contains( "指定する文字" )
次にdropメソッドで削除を行う。
df.drop( df[ judge ].index, inplace=True )
「df[ judge ].index」は
python pandas groupby
各カラムで同じ値となる要素の、別カラムでの数値を操作する
groupbyメソッド。
データフレームからgroupbyを呼出す。
groupbyメソッドの第一引数( by )にまとめる要素とするカラム名を設定し、任意の関数を付ける。
df.groupby( by=[ "カラム名" ] ).sum( )
*設定しなかったカラムは消去される
例(下表)として産地と品名が同じ場合、販売個数を足算する場合
python pandas crosstab クロス集計
2つ以上の項目を交差させて集計する手法クロス集計を行う crosstab関数。
同じ値をカウントします、数値を足し算するわけではありません。
引数indexに基準の縦軸となるseriesを設定、引数columnsにクロス集計するseriesを設定する。
pandas.crosstab( index=df["カラム名"] , columns=df["カラム名"] )
例(下表)として産地を基準にデ
python pandas value_conuts 出現回数を求める
同一カラム内にある、文字や数値の出現回数の合計値または確率を求める
value_conutsメソッド。
データフレームのseriesからvalue_conutsメソッドを呼出し、オプション引数を設定する。
オプション引数:normalize
出現回数の確率を求める場合は「True」にする。
オプション引数:sort
デフォルト「True」では出現回数が多い順になる。
「False」にすると並び順は
pandas 最大値、最小値の要素を取得する方法
データフレームの、ある列における最大値・最小値となる要素を取得するには、最大値の場合はidxmaxメソッドを使用、最小値の場合はidxminメソッドを使用し、最大値・最小値のindex番号を取得。その取得したindex番号を使用しlocプロパティで要素を取得する。
max_index = df[ "値段" ].idxmax
数値の最大値を求めるseries(値段の列)からidxmaxメソッドを呼
pandasでexcel数式のままデータを扱う方法
pandasでexcelを読込むread_excel関数では数式は結果を読込む。
pandasを使い、excelファイル内のデータをフィルタリングし、excelに戻す場合、数式のまま戻したい。
そのような場合は、始めにopenpyxlのload_workbook関数でオプション引数data_only=Falseを使いデータを読込み、pandasのデータフレームへ移す。
import pandas
python pandas 日付
データフレーム(df)にカラム名「日付」があり、その列には日付が入力されているものとする。
object型からdatetime型に変更
object型からdatetime型に変更する、to_datetime関数。
第一引数に型の変更を行うSeriesを設定する。
df["日付"] = pandas.to_datetime( df["日付"] )
excelの日付シリアル値をdatetime型
python pandas データに半角空白を末尾、先頭、前後に追加
半角空白を末尾に追加する、ljustメソッド。
半角空白をに先頭に追加する、rjustメソッド。
半角空白を前後に追加する、centerメソッド。
str型から各メソッドを呼び出し、第一引数に合計文字数、第二引数に追記する文字を空白以外の場合は設定。
pandasでは、データフレームのSeries内のデータに対して行うと、文字数がすべて同じに揃えることが可能となる。
Seriesからstrプロパ
python pandas drop_duplicates 重複する行を削除
データフレームの同一列内にある重複する行を削除する、
drop_duplicatesメソッド。
データフレームのオブジェクトからdrop_duplicatesメソッドを呼出し、
引数subsetに重複の削除を行うカラム名を設定。subsetは省略可能。
複数列を設定すると、指定列内すべて満たす場合削除される。
複数列を指定する場合は、リスト表記(角括弧内にコンマで区切り設定していく)。
引数kee
Python pandas drop 列・行の削除
データフレームの、列・行の削除を行う dropメソッド。
データフレームのオブジェクトから dropメソッドを呼出し、
列を削除する場合は、引数columnsに削除するカラム名を設定し、
行を削除する場合は、引数indexに削除するindex番号を設定する。
複数の場合はリスト表記(角括弧内にコンマで区切り設定していく)。
引数inplace=True で元のデータフレームを変更する。
df.dr
Python pandas reindex 列の並び替え
データフレームの、列の順序入替えや、欲しい列のみに変更する、
reindexメソッド。
データフレームのオブジェクトからreindexメソッドを呼出し、
引数columnsに並び変える順番にカラム名をコンマで区切り設定していく。
この時に、必要なカラム名のみ設定すると、設定しなかったカラム名(列)は削除される。
df = df.reindex( columns=[ " カラム名 " , " カラム
python openpyxl Excel 縦のデータを任意の列で改行し横に変更する
python の openpyxlモジュールを使用し、Excel の縦に並んでいるデータを、指定の列で改行し横に転記する。
*改行は任意
*カラム名はなくなります
「openpyxl」と「math」モジュールをインポートします。
Excelファイルを読み込む。
wb = openpyxl.load_workbook("ファイル名.xlsx")
縦に並んでいるデータのシートを読み込む。
ws_ta
python openpyxl 指定セルの値取得方法
エクセル、既存のブックを読込む
wb = openpyxl.load_workbook( "ブック名.xlsx" )
ブックのシートを指定して取得
ws = wb[ "シート名" ]
指定セル番地の値を取得する
セル番地はセルの位置、例:A列1行目は「A1」
セル番地「A1」は「行番号1、列番号1」
ws[ "セル番地" ].valueまたはws.cell( 行番号, 列番号 ).value
python pandas zfill
データ型を("str")に変更し数値の頭に「0」を付け桁数を合わせる
zfillメソッド。
「.zfill( 合計文字数 )」
以下、例えば数値「1」を文字「001」にする。
df[ "カラム名" ] = df[ "カラム名" ].astype( 'str' ).str.zfill(3)
Python pandas merge データフレームの結合
2つのデータフレームを1つに合体 pandas.merge( )
df = pandas.merge(df_a, df_b, on=[カラム名] , how="left")
2つのデータフレームの同一カラム名の同じ値の行の右に、片方のデータフレームを結合する。
第一引数と第二引数にデータフレームを指定する。
引数on に合体条件であるカラム名を指定する(複数可)。
引数how に下記いずれかを