我有以下数据框:
emp_id male female Unknown Month_Year
423 0 0 1 March-2016
423 1 0 0 April-2016
423 0 1 0 May-2016
423 0 1 0 June-2016
789 1 0 0 June-2017
789 1 0 0 July-2017
789 1 0 0 August-2017
789 0 0 1 September-2017
856 1 0 0 March-2018
856 1 0 0 April-2018
987 0 1 0 June-2019
987 0 1 0 July-2019
987 0 1 0 August-2019
请注意男性、女性和未知栏中的值如下所示:
1 - "Yes"
0 - "No"
可以看出,每个 emp_id 的性别在特定时期内发生变化。(但 emp_id 保持不变,尽管性别发生了变化)。
因此,我必须对每个 emp_id 进行计数,了解性别在特定时期内是否发生变化。我需要这样的东西,
预期数据框:
如果在男性、女性和未知列中观察到:
对于emp_id 423
- 所有三列中都存在性别,因此计数为3
。
对于emp_id 789
- 两列中都存在性别,因此计数为2
。
对于emp_id 856
和987
- 仅在一列中存在性别,因此计数为1
。
我使用了下面的代码:
df['Total_count'] = df.groupby('emp_id')['male','female', 'Unknown'].agg(['sum']).reset_index()
但我得到了一个错误,也不符合要求。
所以请让我知道解决方案。
烙印99
相关分类