如何打印给定功能类别的出现次数?

2024-05-17 00:01:24 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here

我的数据框如上所示。我想使用Hour2列对数据进行分组,并在前面显示每个灯光条件类别的计数。但我不知道该怎么做。 我想要像这样的东西:

Night- time |category-name| category count


Tags: 数据nametimecount条件类别计数灯光
2条回答

试试这个:

df.groupby(['Hour2', 'Light_Conditions'])['Light_Conditions'].count()

您可以使用pd.crosstab,根据需要的格式,先取消堆栈,然后重置索引:

np.random.seed(111)
df = pd.DataFrame({'Light_Conditions':np.random.choice(["Daylight","Darkness"],10),
                   'Hours2':np.random.choice(['Daylight','Night-time'],10)})

  Light_Conditions      Hours2
0         Daylight    Daylight
1         Daylight  Night-time
2         Daylight  Night-time
3         Daylight  Night-time
4         Daylight    Daylight
5         Darkness    Daylight
6         Darkness  Night-time
7         Daylight    Daylight
8         Daylight    Daylight
9         Daylight    Daylight

pd.crosstab(df['Hours2'],df['Light_Conditions'])
Light_Conditions  Darkness  Daylight
Hours2                              
Daylight                 1         5
Night-time               1         3

pd.crosstab(df['Hours2'],df['Light_Conditions']).stack()
Hours2      Light_Conditions
Daylight    Darkness            1
            Daylight            5
Night-time  Darkness            1
            Daylight            3

pd.crosstab(df['Hours2'],df['Light_Conditions']).stack().reset_index()
 
       Hours2 Light_Conditions  0
0    Daylight         Darkness  1
1    Daylight         Daylight  5
2  Night-time         Darkness  1
3  Night-time         Daylight  3

相关问题 更多 >