【发布时间】:2020-10-01 09:23:10
【问题描述】:
I have this df:
data = {'A':[102, 102, 102, 102, 312, 312, 312],
'B':[1001,1001,1001,1001,1001,1001,1001],
'C':[3005,3005,3005,3005,3005,3005,3005],
'D':[2004,2004,2004,2004,2002,2002,2002],
'E':[1,3,5,999,1,5,999],
'F':[300,1,192,837,19,1,1037]}
df = pd.DataFrame (data, columns = ['A','B','C','D','E','F'])
df.head(7)
一行代码计算百分比,除了我希望它排除 E 列中的行值为 (999) 的计数值:
df['Percentage'] = 100 * df['F'] / df.groupby('A')['F'].transform('sum')
百分比应该显示:
Percentage
60.85193
0.20284
38.94523
(Blank)
95
5
(Blank)
任何帮助将不胜感激
【问题讨论】:
-
df 和 data 是两个独立的数据帧吗?
-
嗨!您的代码和数据数据框之间有不同的列名称
-
已编辑,现在一切都正确。对此表示歉意。
标签: python pandas dataframe pandas-groupby percentage