Python高效数据分析的综合复习指南【时间处理与机器学习】

五、时间处理

一、时间戳-----Timestamp类型

方法1:使用Timestamp创建

pandas.Timestamp(ts_input, freq=None, tz=None, unit=None, year=None, month=None, day=None, hour=None, minute=None, second=None, microsecond=None, tzinfo=None, offset=None)

import pandas as pd
ts1=pd.Timestamp('2023/4/19')
ts2=pd.Timestamp('20230419')
ts3=pd.Timestamp('2023-4-19')
print(ts1,ts2,ts3)#2023-04-19 00:00:00 2023-04-19 00:00:00 2023-04-19 00:00:00

方法2:使用to_datetime函数

pandas.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False, utc=None, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix')

参数说明:

arg:需要转换的时间和日期

errors:值为ignore(无效的解析将返回原值),值为raise(无效的解析将引发异常),值为coerce(无效的解析将被置为NaT)

dayfirst:第一个为天,例如:23/11/2022,置为True:解析为 2022-11-23,置为False:解析为 2022-23-11

date_range()方法,用于生成一个固定频率的DatetimeIndex时间索引。

pandas.date_range(start=None, end=None, periods=None, freq=None, tz=None, normalize=False, name=None, closed=None, **kwargs)

常用参数为start、end、periods、freq。

start:指定生成时间序列的开始时间

end:指定生成时间序列的结束时间

periods:指定生成时间序列的数量

freq:生成频率,默认‘D’,可以是‘D’(天)、‘10D’、’H’(时)、‘5H’、‘T’(分)、‘S’(秒)、‘15T’、‘M’(月)

重采样(Resample方法)

Resample()方法: resample能搭配各种不同时间维度,进行分组聚合。针对分组情况你可以搭配使用max、min、sum、mean等使用

resample(rule, how=None, axis=0, fill_method=N one, closed=None, label=None, ..

To_period()方法可以将时间戳转换为日期,从而实现按照日期显示数据

示例 1:将时间序列数据进行降采样为3分钟间隔,对每个区间内的数值求和。

示例2:将时间序列数据进行上采样为30秒间隔,利用ffill和bfill填充

降采样:将高频率转换为低频率,使用聚合函数 升采样:将低频率转为高频率,会引入缺失值。

滑动窗口rolling函数

根据指定的单位长度来框住时间序列,从而计算框内的统计指标

DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None)

六、机器学习

机器学习就是通过算法,使得机器能从大量历史数据中学习规律,并利用规律对新的样本做智能识别或对未来做预测。

机器学习的分类

1.按学习目标的不同,机器学习可分为:

监督学习(Supervised Learning)---有标签

无监督学习(Unsupervised Learning) ---无标签

半监督学习(Semi-Supervised Learning) ---有部分标签

强化学习(Reinforcement Learning, RL) ---有延迟的标签

2. 根据训练数据是否有标注,机器学习可划分为:

监督学习

无监督学习

1.监督学习

监督式学习需要使用有输入和预期输出标记的数据集。

监督学习的目的是通过学习许多有标签的样本,然后对新的数据做出预测。

监督学习又可分为“分类”“回归”问题。

(1)分类问题

在分类问题中,机器学习的目标是对样本的类标签进行预测,判断样本属于哪一个分类,结果是离散的数值

(2)回归问题 在回归问题中,其目标是预测一个连续的数值或者是范围

数据集的划分

把数据分割成训练集(我们从中学习数据的属性)和测试集(我们测试这些性质)

训练集(Training set):用来拟合模型,通过设置分类器的参数,训练分类模型。

测试集(Test set):通过训练,得出最优模型后,使用测试集进行模型预测。用来衡量该最优模型的性能和分类能力。即可以把测试集视为从来不存在的数据集,当已经确定模型后,使用测试集进行模型性能评价。

Scikit-learn提供了train_test_split函数来帮助完成这一任务,train_test_split在model_selection模块下

聚类算法实现需要使用sklearn估计器(estimator)。

sklearn估计器拥有fit()和predict()两个方法,其说明如下表所示

K-means算法

(1)参数k的选取方法

k-means算法需要事先确定簇的数量,也即,参数k。过大或过小的k值均不能获得高质量的聚类结果。

(2)初始质心的选择问题

(3)K-means的方法实现

model = KMeans (n_clusters = 4)

KNN算法

K最近邻算法原理:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分类到这个类中。

流程:

(1)计算已知类别数据集中的点与当前点之间的距离;

(2)按照距离递增次序排序;

(3)选取与当前点距离最小的k个点;

(4)确定前k个点所在类别的出现频率;

(5)返回前k个点所出现频率最高的类别作为当前点的预测分类。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/15424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

26计算机操作系统408考研-操作系统进程与线程篇章(三)

操作系统进程与线程篇章 ` 文章目录 操作系统进程与线程篇章前言一、进程概念进程控制块进程创建进程终止进程的阻塞和唤醒进程唤醒进程挂起和激活线程多线程线程实现与线程模型总结互斥和同步并发原理硬件同步信号量机制信号量的应用管程经典同步问题消息传递前言 一、进程概…

K8S Secret管理之SOPS

1 关于SOPS SOPS (Secret OPerationS) 是一个由 Mozilla 开发的命令行工具,用于加密和解密文件中的敏感数据。SOPS支持使用 AWS KMS、GCP KMS、Azure Key Vault、PGP 加密 YAML、JSON、ENV、INI 以及二进制格式的文件。其主要目标是使敏感信息(例如配置文件、凭证、密钥等)…

碌时刻必备!微信自动回复让你告别消息堆积

在忙碌的时候,我们往往会面临消息堆积如山的情况。无法及时回复消息不仅容易造成交流障碍,还可能错过重要的机会。 但是现在,有一个神奇的工具——个微管理系统,可以帮助我们轻松应对这个问题 ,实现微信自动回复。 首…

Mujava 工具的简单使用

首先下载openjava.jar和mujava.jar,以及自己手写一个mujava.config指向存放mujava的目录,并将这些文件放在mujava目录下。此时,基本的mujava环境就搭建好了。 分别创建src(存放源码文件)、classes(存放源码…

每日一题 求和

1.题目解析 求和_牛客题霸_牛客网 (nowcoder.com) 这一题,主要描述的就是求满足和为m的子序列,对与子序列的问题可以使用决策树。 2.思路分析 决策树如下图所示: 递归结束条件: 当当前和 sum 等于目标和 m 时,说明找到了一个满…

如何在华为手机上恢复已删除的视频[4种解决方案]

概括 在数字媒体时代,智能手机已成为我们的个人金库,存储以视频形式捕捉的珍贵记忆。然而,意外删除这些珍贵的文件可能会是一次令人心痛的经历。对于华为手机用户来说,由于删除或其他意外导致视频丢失尤其令人痛苦。但不用担心&a…

Python 拼图游戏

拼图游戏(puzzle)是一种常见的益智游戏,玩家通过拖动图块来正确拼接成完整的图片。 由一张原图,分割成图块,拼图块的大小将会根据行列数自动调整,然后随机打乱,玩家通过拖拽图块,最后复原原图。 &#x1f…

idea使用鼠标滚轮进行字体大小缩放

idea使用鼠标滚轮进行字体大小缩放 使用快捷键CtrlAltS进入到设置页面 在左上角搜索框输入“increase”,在左侧的Keymap中右击“Increase Fort Size”,点击“add mouse shortcut”,然后录入我们要设置的快捷键,比如我是点击ctrl鼠…

基于SpringBoot+Vue+Mysql的实验室低值易耗品管理系统

博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…

Django 里的app概念

在 vs code 里的 Terminal 里运行下面的命令来创建一个项目文件夹 django-admin startproject [新项目名称]进入到刚刚创建的新项目的文件夹,在 urls.py 文件里进行修改 """ URL configuration for mywebsite project.The urlpatterns list routes…

AtCoder Beginner Contest 354 (ABCDEFG题)视频讲解

2024年5月19日补充G题。 A - Exponential Plant Problem Statement Takahashi is growing a plant. Its height at the time of germination is 0 c m 0\,\mathrm{cm} 0cm. Considering the day of germination as day 0 0 0, its height increases by 2 i c m 2^i\,\mat…

看一遍就理解:MVCC原理详解

介绍 MVCC(Multi-Version Concurrency Control,多版本并发控制)是一种用于实现数据库并发访问控制的机制。它允许多个用户同时读写同一数据项,从而提高了数据库在高并发环境下的性能和响应速度。以下是具体介绍: 基本…

前端基础入门三大核心之HTML篇:深入解读div标签与HTML5的现代魅力

前端基础入门三大核心之HTML篇:深入解读div标签与HTML5的现代魅力 一、div标签:布局中的万金油1.1 div标签基本概念1.2 div标签的使用1.3 实践技巧 二、HTML5:重塑网页结构的新篇章2.1 HTML5简介2.2 语义化标签2.3 多媒体支持2.4 Canvas绘图 …

Python代码注释的艺术与智慧

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:注释的必要性 二、注释的误区:不是越多越好 过度注释的问题…

服务器端口号怎么看?如何查看服务器端口号呢?有哪些需要注意的?

简单来说,端口号就是计算机与外界通讯交流的出口,每个端口都有不同的编号,也就是“端口号”。它们是唯一的,用于标识不同的服务和应用程序。通过端口号,我们可以知道哪些服务正在运行,以及如何与它们进行通…

【Linux系统编程】进程概念、进程排队、进程标识符、进程状态

目录 什么是进程? 浅谈进程排队 简述进程属性 进程属性之进程标识符 进程操作之进程创建 初识fork fork返回值 原理角度理解fork fork的应用 进程属性之进程状态 再谈进程排队 进程状态 运行状态 阻塞状态 挂起状态 Linux下的进程状态 “R”(运行状…

洗地机哪个牌子最好用?2024洗地机排行榜

随着人们生活水平的提升,智能清洁家电已经成为日常生活中的必需品。如今的清洁家电市场上,洗地机、吸尘器和扫地机器人等设备各有其独特的功能和优势。洗地机结合了扫、拖、吸和自清洁等多种功能,不仅可以处理干湿垃圾,还能高效清…

批量修改数组的属性

首先,有这个对象 let a {id: 1,name: 张三,age: 18,sex: 0 } 需求:同时修改name,id,并添加一个新属性c 常规写法: a.id 2; a.name 李四; a.c 1; 但这种写法遇到批量就会很麻烦 解决方法: 方法1: 使用Object.as…

工业路由器在新能源数字化中的应用:重塑能源行业的未来

随着全球对可再生能源和能源效率的追求日益加强,新能源数字化已成为推动行业发展的关键因素。在这一变革的浪潮中,工业路由器以其卓越的性能和独特的功能,成为新能源数字化不可或缺的核心组件。本文将深入探讨工业路由器在新能源数字化中的应…

解决“unknown shorthand flag: ‘d‘ in -d‘”错误

前言 在使用Docker Compose部署应用时,你可能遇到过一条令人困惑的错误信息:“unknown shorthand flag: ‘d’ in -d”。这通常发生在尝试以守护进程模式启动容器时,而使用的命令格式与你的Docker版本不兼容。本文旨在深入解析这一问题根源&…