要素の頻度(出現回数)ビニング処理(ビン分割)SNSで共有しましょう。機械学習を行う前の事前処理として、よく使うPandasの機能をまとめています。詳細なコードはGitHubのコードを参考にしてください。pd.read_csv("data.csv")read_csv()関数の引数は多く存在する。:区切り文字の指定、headr=Noneでヘッダーの有無、encodingでエンコーディングの指定などができる。エクセルで作成したCSVファイルは文字化けします。その際にはencoding=’SHIFT-JIS’を使用。それでもうまくいかない時はencoding=’cp932’を試して見ると良い。タブ区切りのCSVファイルについては、pd.read_table()関数を使う。行のindexが不要の場合は引数でindex=Falseを指定する。encoding=’shift_jis’などとして、出力する際の文字コード。指定することができます。train_base.drop('y',axis=1)ダミー変数作成ダミー変数作成get_dummies関数を使うと、カテゴリ変数を簡単に数値に置き換えることができます。デフォルトでは欠損値があれば、その値は除外されます。することで欠損値を含めることもできる。欠損値は全ての値が0になります。これ、結構使える説明変数の値が数値ではなく、何らかの文字列の場合、複数の数値に変換する場合はpd.factorize関数を使用します。欠損値は-1にしてくれるなど至れり尽せりの関数です。factorize関数を使わない方法pandasのcategory型の仕組みを活用した方法です。trainデータに’Sex’という項目があるとします。文字列を数値化したデータを’sex_num’の列を新たに作成して挿入する方法です。取得した’Sex’列の値をカテゴリ型に変更することで、実現しています。train_test_split(X,y,test_size=0.5,random_state=0)列の値の取得ユニークな値の取得unique()関数を使用するとユニークな値を取得できます。対象の列「fruit」には[‘Apple’,’Orange’,’Apple’,’Apple’,’Apple’,’Orange’,’Apple’,’Apple’]が入っているとします。dtype=object)複数の値を含めた数を知りたい場合は、value_counts()関数を使います。int64ある列の値を条件判定しておいて、Trueの行の別の列の値の平均をとる次のようなDataFrame型のデータがあるとします。sizeがMの行のweightの値の平均をとるコードです。次のコードで対象の平均値が算出されます。data_pd[data_pd['size']=='M']["weight"].mean()結果65.0PandasからNumpyに変換とその逆Pandas形式のデータをNumpy形式にする方法Pandasデータをdfとすると次のようにvalueプロパティで取得できます。列名を取得したい場合は、columnsプロパティで取得し、行名はindexプロパティで取得します。df.indexNumpy形式のデータをPandas形式にする方法DataFrameを作成するだけです。pd.DataFrame(data=data,columns=columns)要素の頻度(出現回数)要素の頻度(出現回数)が取得できます。value_counts()は、ユニークな要素の値がindex、その出現個数がdataとなるpandas.Seriesを返す。デフォルトでは降順となります。引数ascending=Trueとすると昇順にソートさます。引数sort=Falseとするとソートされません。円グラフを描くときは、引数ascending=Trueにすると見やすくなります。labeldistance=1,rotatelabels=True)plt.show()結果ビニング処理(ビン分割)例えば、年齢を一定の年齢層にビン分割したい場合、cut()関数を使います。pandas.Series)、第2引数にビン分割設定を指定します。90]]SNSで共有しましょう。