前提・実現したいこと
pandasで、下記のように、カラム毎の合計値とその合計値が全体の何%になるかをです。
python、初学者です。
count 割合
1 790 0.603514
2 235 0.179526
3 159 0.121467
4 43 0.032850
5 22 0.016807
6 25 0.019099
7 16 0.012223
8 8 0.006112
11 11 0.008403
発生している問題・エラーメッセージ
関数を作って、DataFrameに入れて結合すればできましたが、
pandas、numpyの機能などで、もっと簡単に表示する方法はないでしょうか?
該当のソースコード
def cal_variable(df, variable): count_df = pd.DataFrame(df[variable].value_counts()) mean_df = pd.DataFrame(df[variable].value_counts() / len(df[variable])) count_df.rename(columns={variable:'count'}, inplace=True) mean_df.rename(columns={variable:'割合'}, inplace=True) print(count_df.join(mean_df).sort_index())
サンプルデータ
index PassengerId Family
0 1 2
1 2 2
2 3 1
3 4 2
4 5 1