You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pandas加载CSV数据,找出最频繁的出行起始小时

问题:找出共享单车出行最频繁的起始小时

现有如下格式的CSV表格数据:

Start Time,End Time,Trip Duration,Start Station,End Station,User Type,Gender,Birth Year
2017-05-29 18:36:27,2017-05-29 18:49:27,780,Columbus Dr & Randolph St,Federal St & Polk St,Subscriber,Male,1991.0
2017-06-12 19:00:33,2017-06-12 19:24:22,1429,Kingsbury St & Erie St,Orleans St & Merchandise Mart Plaza,Customer,,
2017-02-13 17:02:02,2017-02-13 17:20:10,1088,Canal St & Madison St,Paulina Ave & North Ave,Subscriber,Female,1982.0

需求:使用Pandas将file.csv加载至DataFrame中,在数据集无小时列的前提下,找出人们开始出行的最频繁小时,请补全以下代码中的popular_hour部分:

import pandas as pd

filename = 'file.csv'

df = pd.read_csv('file.csv')

df['Start Time'] = pd.to_datetime(df['Start Time'])

df['hour'] = df['Start Time'].dt.hour

popular_hour = 
    
print('Most Frequent Start Hour:', popular_hour)

补全方案

以下几种简洁写法都能实现需求:

  1. 取小时列的众数(最直接的方式)
popular_hour = df['hour'].mode()[0]

注:mode()返回的是Series类型结果,[0]用于提取具体的小时数值。

  1. 统计频次后取最大值对应的索引
popular_hour = df['hour'].value_counts().idxmax()

value_counts()会按出行次数降序排列各小时,idxmax()直接返回次数最多的小时值。

  1. 分组统计后取最大值对应小时
popular_hour = df.groupby('hour')['hour'].count().idxmax()

以上三种写法都能得到正确结果,前两种在日常使用中更简洁高效。


内容的提问来源于stack exchange,提问作者Mohamed Awad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 13:10:29