有沒有人有一個想法如何計算數據透視表中的所有布爾值(包括錯誤的)?Python數據透視表中的所有布爾值
passed_exam
是一列布爾值。
table = pd.pivot_table(df,index=["student","semester"], values=["passed_exam"],aggfunc=np.sum)
但我也希望這樣計算所有布爾值的列:
此代碼只對真正的價值,這是偉大執行任務。
預先感謝您!
有沒有人有一個想法如何計算數據透視表中的所有布爾值(包括錯誤的)?Python數據透視表中的所有布爾值
passed_exam
是一列布爾值。
table = pd.pivot_table(df,index=["student","semester"], values=["passed_exam"],aggfunc=np.sum)
但我也希望這樣計算所有布爾值的列:
此代碼只對真正的價值,這是偉大執行任務。
預先感謝您!
我認爲你需要groupby
與size
,最後由unstack
重塑:
df = pd.DataFrame({'student':['a'] * 4 + ['b'] * 6,
'semester':[1,1,2,2,1,1,2,2,2,2],
'passed_exam':[True, False] * 5})
print (df)
passed_exam semester student
0 True 1 a
1 False 1 a
2 True 2 a
3 False 2 a
4 True 1 b
5 False 1 b
6 True 2 b
7 False 2 b
8 True 2 b
9 False 2 b
table = df.groupby(["student","semester","passed_exam"])
.size()
.unstack(fill_value=0)
.rename_axis(None, axis=1)
.reset_index()
print (table)
student semester False True
0 a 1 1 1
1 a 2 1 1
2 b 1 1 1
3 b 2 2 2
否定表,做同樣的,添加兩個值? – Mathias711