希望大家都好,我对Python/Pandas还是很陌生的,我想知道下面的内容是否可行。我的数据框中有一个列/问题名列表。我想把它们传给我的代码
Council NPS EASE OSAT
0 CouncilA 5 99 2
1 CouncilB 0 4 2
2 CouncilC 4 1 5
3 CouncilA 1 4 5
4 CouncilB 3 1 3
5 CouncilC 1 4 3
6 CouncilA 4 1 99
7 CouncilB 4 4 1
8 CouncilC 3 3 3
9 CouncilA 2 2 1
10 CouncilB 4 99 4
11 CouncilC 2 2 5
这是我试图更新的代码
df = df[['Council', 'NPS', 'EASE', 'OSAT']]
percent4_5 = df[(df['NPS'] >= 4) & (df['NPS'] <=5 )].groupby(['Council'])['NPS'].count()
base = df[(df['NPS'] >= 0) & (df['NPS'] <=5 )].groupby(['Council'])['NPS'].count()
score = (percent4_5 / base)
目前,如果我想计算“EASE”等分数,我必须将“NPS”替换为“EASE”,因为每个问题的基数不同。如果代码可以在列表中循环并输出“NPS”、“EASE”、“OSAT”的结果,那就太好了
我希望在这个论坛上我能遵守礼仪。如果我做错了什么,请告诉我
Excel的预期输出: enter image description here
你真的快到了。只需将“Council”设置为索引,并重复您的操作,但要将数据帧作为一个整体
groupby
操作可以在整个数据帧中进行矢量化相关问题 更多 >
编程相关推荐