Jupyter地铁数据分析预测地铁后7天小时客流量

2023-10-28 14:59

本文主要是介绍Jupyter地铁数据分析预测地铁后7天小时客流量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

地铁数据分析预测地铁后7天小时客流量

基于八月地铁刷卡数据,以前23天的数据作为训练数据,预测后7天各个地铁站点在6点—23点每个小时的客流量。

import pandas as pd
import time
import numpy as np
import matplotlib.pyplot as plt

使用二分法目的,找到每天的最后一刻 数据的索引

def find_day_index(A,a0,a2):tA=Awhile True:I1=int(len(tA)/2)-1I2=I1+1
#        获取I1和I2的日期t0=int(tA.iloc[I1,0][8:10])t2=int(tA.iloc[I2,0][8:10])if t2!=t0:r=(tA.iloc[I1,0],tA.index[I1])return rbreakif t2==t0 and t2==a0: tA=tA.iloc[I2:,:]if t2==t0 and t2==a2:tA=tA.iloc[:I1+1,:]
reader = pd.read_csv('#数据.csv',usecols=[6],chunksize=100000)
start = time.perf_counter() #计算耗费时间
# 读取站台信息
A = pd.read_csv('acc_08_final.csv',usecols=[5],nrows=1000)
S = pd.Series(A.iloc[:,0].values)
Ad = S.unique()# 站台信息去重R_day = [('', -1)]# 存储每天的截止时间下标
for A in reader:a0 = int(A.iloc[0,0][8:10])a2 = int(A.iloc[len(A)-1,0][8:10])if a0 !=a2:r = find_day_index(A,a0,a2)R_day.append(r)end = time.perf_counter()
print("耗时: ",end-start)#耗时:27.6368365

 

date_all = pd.read_csv('#数据.csv',sep=',',usecols=[6])
R_hour = []
for day in range(len(R_day)-1):left = R_day[day][1] + 1# 每天起始坐标right = R_day[day+1][1] + 1# 每天结束坐标的下一位
#     print(left, right)print(time.perf_counter())for idx in range(left, right):
#         print(idx, idx+1)if idx==right-1:R_hour.append((date_all.iloc[idx,0],idx))elif date_all.iloc[idx,0][11:13]!= date_all.iloc[idx+1,0][11:13]:R_hour.append((date_all.iloc[idx,0],idx))

 

start = time.perf_counter()
A=pd.read_csv('acc_08_final.csv',sep=',',usecols=[4,5]) #指定列交易类型和站点
A=A.values
Ad_values=[]  #站点
day_values=[] #日期
C1_values=[]  #进站数
C2_values=[]  #出站数
C_values=[]
for Z in range(len(Ad)):   ##站点循坏for t in range(len(R_hour)):  ##时间循环if t==0:data=A[:R_hour[t][1]+1,:]I1=data[:,1]==Ad[Z] #站点I2=data[:,0]==21    #进站还是出站I3=data[:,0]==22
#           指定站点 进站的数量C1_values.append(len(data[I1&I2,:]))
#           指定站点 出站的数量C2_values.append(len(data[I1&I3,:]))day_values.append(R_hour[t][0])
#           指定站点Ad_values.append(Ad[Z])if t>0 and t<len(R_hour):data=A[R_hour[t-1][1]+1:R_hour[t][1]+1,:]I1=data[:,1]==Ad[Z]I2=data[:,0]==21I3=data[:,0]==22C1_values.append(len(data[I1&I2,:]))C2_values.append(len(data[I1&I3,:]))day_values.append(R_hour[t][0])Ad_values.append(Ad[Z])
#           计算总客流量
for i in range(0,len(C1_values)):summm=C1_values[i]+C2_values[i]C_values.append(summm)
#print(C_values)
D={'Ad':Ad_values,'day':day_values,'C1':C1_values,'C2':C2_values,
'C':C_values}
Data=pd.DataFrame(D)
end = time.perf_counter()
print("耗时: ",end-start)
Data.to_excel('前23天每小时地铁客流量数据.xlsx',index=False)#耗时:33.0005056
data = pd.read_excel('前23天每小时地铁客流量数据.xlsx')
data

 

 

Day = data['day'].apply(lambda s:int(s[8:10]))
Hour = data['day'].apply(lambda s:int(s[11:13]))
x1 = Day[Day<=23] # 前23天
x2 = Day[Day>23]  # 后7天
x_Hour = Hour[Hour>=6] # 时间段6.00-23.59
data1 = pd.concat([data,x1,x_Hour],axis=1)
data2 = pd.concat([data,x2,x_Hour],axis=1)data1.dropna(inplace=True)#删除后7天的数据
data2.dropna(inplace=True)#删除前23天的数据data1.to_excel('8月前23天时间6-23点的数据.xlsx',index=False) # 前23天数据
data2.to_excel('8月后7天时间6-23点的数据.xlsx',index=False) # 后7天数据#重置列名
cols = ["Ad","Date","C1","C2","C","Day","Hour"]
data1.columns = cols 
data2.columns = cols
data2.head()

 

 

x_test,y_test = data1.iloc[:,[0,2,3,5,6]], data1['C']
x_train,y_train = data2.iloc[:,[0,2,3,5,6]], data2['C']from sklearn.neural_network import MLPRegressor
clf=MLPRegressor(solver='lbfgs',alpha=1e-5,hidden_layer_sizes=8,random_state=1)
clf.fit(x_test,y_test)
rv=clf.score(x_test,y_test)
print(rv)
#0.9999y_pred = clf.predict(x_train)
y_pred.shape
#(1800,)from sklearn.metrics import mean_squared_error
print("均方误差:",mean_squared_error(y_train.values, y_pred))
#均方误差:0.00058232
data2["info"] = list(map(lambda x,y:str(x)+" "+y[0:13],data2["Ad"],data2["Date"]))
data2

 

 

data2["target"] = y_predans = data2.iloc[:,7:]
ans["Hour"] = data2["Hour"]
ans = ans.reset_index(drop=True)
ans

 

 

 

 over

这篇关于Jupyter地铁数据分析预测地铁后7天小时客流量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/294020

相关文章

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU

【Jupyter Notebook】汉化

1.打开:Anaconda Prompt 2.输入:"activate Zhui01"(注意:Zhui01是刚创建的环境名字) activate Zhui01 3.输入:"pip install jupyterlab-language-pack-zh-CN" pip install jupyterlab-language-pack-zh-CN 4.打开:Jupyter Noteb

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

[轻笔记] jupyter notebook 指定conda虚拟环境

安装插件 conda install nb_conda 进入conda env conda activate ${env_name}conda install ipykernelconda deactivate #3. 运行jupyter notebook conda activate # 需要先进入conda环境,非常重要jupyter notebook 会发现,在ju

安科瑞ASJ漏电流继电器在轨道交通地铁车站配电系统中的应用

应用背景 城市轨道交通设备门类复杂、数量庞大、分布广泛,在长期连续运行时存在火灾隐患。在国内外的地铁火灾中,因电气原因引起的火灾占比最大,达到37%,其中供电线路的漏电流更是造成电气火灾的重要因素。消防部门、行业专家往往要求地铁车站设置电气火灾监控系统,但在地铁监控防范措施中,泄漏电流的监测并不完善,现有的泄漏电流监测系统存在误报现象,使得配电系统漏电保护 频繁跳闸。为此,查找频繁误报警原因,采

win7下安装Canopy(EPD) 及 Pandas进行python数据分析

先安装好canopy,具体安装版本看自己需要那种,我本来是打算安装win764位的,却发现下载总是出现错误,无奈只能下载了32位的! https://store.enthought.com/downloads/#default 安装好之后,参考如下连接,进行检验: 之后再根据下面提供的连接进行操作,一般是没问题的! http://jingyan.baidu.com/article/5d6

「大数据分析」图形可视化,如何选择大数据可视化图形?

​图形可视化技术,在大数据分析中,是一个非常重要的关键部分。我们前期通过数据获取,数据处理,数据分析,得出结果,这些过程都是比较抽象的。如果是非数据分析专业人员,很难清楚我们这些工作,到底做了些什么事情。即使是专业人员,在不清楚项目,不了解业务规则,不熟悉技术细节的情况下。要搞清楚我们的大数据分析,这一系列过程,也是比较困难的。 我们在数据处理和分析完成后,一般来说,都需要形成结论报告。怎样让大

Tensorflow lstm实现的小说撰写预测

最近,在研究深度学习方面的知识,结合Tensorflow,完成了基于lstm的小说预测程序demo。 lstm是改进的RNN,具有长期记忆功能,相对于RNN,增加了多个门来控制输入与输出。原理方面的知识网上很多,在此,我只是将我短暂学习的tensorflow写一个预测小说的demo,如果有错误,还望大家指出。 1、将小说进行分词,去除空格,建立词汇表与id的字典,生成初始输入模型的x与y d

临床基础两手抓!这个12+神经网络模型太贪了,免疫治疗预测、通路重要性、基因重要性、通路交互作用性全部拿下!

生信碱移 IRnet介绍 用于预测病人免疫治疗反应类型的生物过程嵌入神经网络,提供通路、通路交互、基因重要性的多重可解释性评估。 临床实践中常常遇到许多复杂的问题,常见的两种是: 二分类或多分类:预测患者对治疗有无耐受(二分类)、判断患者的疾病分级(多分类); 连续数值的预测:预测癌症病人的风险、预测患者的白细胞数值水平; 尽管传统的机器学习提供了高效的建模预测与初步的特征重

jupyter在加载pkl文件时报错ModuleNotFoundError: No module named 'pandas.core.internals.managers'; '的解决方法

笔者当看到这个错误的时候一脸懵逼,在pycharm上正常运行的code 放在jupyter就不成了,于是就研究一翻。 一开始以为自己的pkl文件有问题,研究重点放在这里,最后发现不是。 然后取搜索pycharm和jupyter下的python的\Lib\site-packages\pandas\core\internals有什么不同 发现jupyter下没有pandas\core\intern