<分区> 分区>
想要找到一组值对应的唯一日期的数量。如果 Col1、Col2、Col3 的值相同,那么有多少个实例。 我只能用年、月或日来做,但我想把所有的都结合起来,这样我就可以找到每个唯一的日期(yyyy/mm/dd)。
BldgID BldgHt Device Date
108 28 760 2018/9/18
108 28 760 2018/10/5
108 28 760 2018/10/18
108 28 760 2018/10/19
104 36 758 2018/10/2
104 36 758 2018/11/2
104 41 758 2018/9/13
104 41 758 2018/10/3
104 41 758 2018/10/16
104 41 758 2018/10/25
104 41 758 2018/11/3
104 41 758 2018/11/7
104 45 758 2018/10/3
104 45 758 2018/11/3
通过将 dt.month 更改为 dt.year 或 dt.day,我可以获得年、月或日,但希望整个日期都是明智的。
df_test = df.Date.apply(lambda dt: dt.date()).groupby\
([df.BldgID, df.BldgHt, df.Device, df.Date.apply(lambda dt:\
dt.month)]).nunique()
df_test.head(10)
这是按月计算的值。
BldgID BldgHt Device Date
108 28.0 760 9 1
10 3
104 36.0 758 10 1
11 1
41.0 758 9 1
758 10 3
758 11 2
45.0 758 10 1
45.0 758 11 1
Name: Date, dtype: int64
期望的输出:
BldgID BldgHt Device Total_count
108 28.0 760 4
104 36.0 758 2
41.0 758 6
104 45.0 758 2
Total_count 是每组相应的独特的计数的总和 'BldgID、BldgHt、设备'。
提前致谢。
