問題我々はサンプルを持って
Pythonの:パンダ:列ごとに割合
コンテキスト
"合計/合計df.pivot_table(margins=True)
によって提供される%とpd.pivot_tableする方法(割合)欄"ピボット:このように
import pandas as pd
import numpy as np
df = pd.DataFrame([["row1",50, 200],["row2",100, 300]], columns=list('ABC'))
print(df)
print("\n\n")
pivot = df.pivot_table(
index=["A"],
columns=[],
values=["B", "C"],
aggfunc={
"B": np.sum,
"C": np.sum,
},
margins=True,
margins_name = "Total",
fill_value=0
)
print(pivot)
:
B C
A
row1 50 200
row2 100 300
Total 150 500
すなわち
B C D E
A
row1 50 200 250 38.46%
row2 100 300 400 61.54%
Total 150 500 650 100%
所望の出力は、我々は基本的に、列の合計の割合ですpivot_tableの出力に列E (pct of row & column total)
を追加したいです。
例を少し読みやすくするために、'D'
という列を追加しましたが、これは実際の出力の一部であってはなりません。
それ以外にも、出力形式はこのようにとどまる必要があります。最終的には、ビジネス用のExcelシートに出力します。我々は、印刷時にそのまま滞在する列を必要とするよう
Add percent of total column to Pandas pivot_table
- のみGROUPBYでそれを行いますが:同様の質問を求めていたこれまでの
しようとしました()のために本当に役に立たなかったので
- のみGROUPBYでそれを行いますが:同様の質問を求めていたこれまでの
Pandas percentage of total with groupby
- 私たちは、私がこれまで
- 私たちは、私がこれまで
を考え出したていないどのそのまま滞在する出力形式を必要として私のために動作しませんでした さらに、私はパンダが最新のバージョンでこの周りにきちんとした方法を見つけたので、df.pivot_table
。彼らは通常、繰り返しのいくつかの便利な改善を追加します。 :)
仕様
のPython:3.5.2
パンダ:0.18.1
numpyの:1.11。あなたはこのような何か行うことができます1