按两列计算值

Counting values by two columns

我有一个大日期文件,我正试图从中提取数据。我有两列 Start Time & Date 我想做的是显示每个日期,然后是每个开始时间,然后是每个开始时间的计数。所以输出看起来像这样:

Date         Start Time     
30/12/2021   15:00          2
30/12/2021   16:00          6
30/12/2021   17:00          3

这是我试过的:

df = pd.read_excel(xls)

counter = df['Start Time'].value_counts()
date_counter = df['Date'].value_counts()
total = (df['Start Time']).groupby(df['Date']).sum()
pd.set_option("display.max_rows", None, "display.max_columns", None)
print(total)

input()

但是输出是这样的:

Date         Start Time     
30/12/2021   15:0016:0016:0017:0018:0018:00        

非常感谢任何建议!

您只按 1 列分组。您需要对两列进行分组并使用 size()

获取计数
df.groupby(['Date', 'Start Time']).size()

您可以使用 2 个键值计数

counts = df[['Date','Start Time']].value_counts()

对于这个输入

     Date Start Time
0  30/12/21      15:00
1  30/12/21      16:00
2  31/12/21      15:00
3  30/12/21      15:00
4  31/12/21      16:00
5  30/12/21      18:00
6  30/12/21      13:00
7  31/12/21      15:00

投掷

Date      Start Time
31/12/21  15:00         2
30/12/21  15:00         2
31/12/21  16:00         1
30/12/21  18:00         1
          16:00         1
          13:00         1