EMS运行数据处理-pandas降采样、合并多表

news2025/1/17 21:51:09

文章目录

    • read_csv读取出错。因为多余异常列数据
      • 解决方法
    • pd.to_datetime(df['time_key'])但time_key出现不能转换的序列
      • 解决方法
    • pandas 提取时间序列年、月、日
      • 方法一:pandas.Series.dt.month() 方法提取月份
      • 方法二:strftime() 方法提取年、月、日
      • 方法三:pandas.DatetimeIndex.month提取月份
    • pd.concat()多表合并
      • 示例
    • df.groupby()分组

read_csv读取出错。因为多余异常列数据

在读取数据集的时候出现报错。检查才发现是出现是
在这里插入图片描述

ParserError: Error tokenizing data. C error: Expected 16 fields in
line 14996, saw 29

解决方法

由于我这边数据集够多。选择直接这种数据就舍弃跳过

  df = pd.read_csv(filePath, on_bad_lines='warn')

on_bad_lines 指定遇到错误行(字段太多的行)时要执行的操作。允许的值为:

  1. “error”,遇到错误行时引发异常。
  2. “warn”,遇到错误行时发出警告并跳过该行。
  3. “skip”,在遇到错误行时跳过错误行而不引发或警告。

pd.to_datetime(df[‘time_key’])但time_key出现不能转换的序列

dateutil.parser._parser.ParserError: Unknown string format: ‘202’2022-01-03 08:22:09.481’
在这里插入图片描述

解决方法

把它挑出来剔除

df['time_key'] = pd.to_datetime(df['time_key'],errors='coerce')  # 不加format也行,pandas自动推断日期格式,format='%Y-%m-%d %H:%M:%S'
df.dropna(inplace=True)    #剔除

errors三种取值,‘ignore’, ‘raise’, ‘coerce’,默认为raise。

  1. raise,则无效的解析将引发异常
  2. coerce,那么无效解析将被设置为NaT(not a time ,和NaN一样是空值)
  3. ignore,那么无效的解析将返回原值

to_datetime官网解释

pandas 提取时间序列年、月、日

方法一:pandas.Series.dt.month() 方法提取月份

应用于 Datetime 类型的pandas.Series.dt.month() 方法分别返回系列对象中Datetime条目的年和月的numpy数组。
注意:如果该列不是 Datetime 类型,则应首先使用 to_datetime() 方法将该列转换为 Datetime类型,pd.to_datetime()

  • 获取其他时间方法
dt.year、dt.month、dt.day:获取年、月、日;
dt.hour、dt.minute、dt.second、dt.microsecond:获取时、分、秒、微秒;

示例

import pandas as pd
 
list_of_dates = ['2019-11-20', '2020-01-02', '2020-02-05','2020-03-10','2020-04-16']
employees=['Hisila', 'Shristi','Zeppy','Alina','Jerry']
df = pd.DataFrame({'Joined date': pd.to_datetime(list_of_dates)}, index=employees)
 
df['Year'] = df['Joined date'].dt.year
df['Month'] = df['Joined date'].dt.month
print(df)

请添加图片描述

方法二:strftime() 方法提取年、月、日

strftime() 方法使用 Datetime,将格式代码作为输入,并返回表示输出中指定的特定格式的字符串。使用%Y%m 作为格式代码来提取年份和月份。

df['year'] = df['Joined date'].dt.strftime('%Y')
df['month'] = df['Joined date'].dt.strftime('%m')
df['Day'] = df['Joined date'].dt.strftime('%d')

在这里插入图片描述

方法三:pandas.DatetimeIndex.month提取月份

通过检索 pandas.DatetimeIndex 对象的月份属性的值类,从 Datetime 列中提取月份。
此时,datatimeDataFrame的索引,时间类型的索引。比非时间索引类型的时间类型列,在抽取年月的时候,少个dt。

df['year'] = pd.DatetimeIndex(df['Joined date']).year
df['month'] = pd.DatetimeIndex(df['Joined date']).month

在这里插入图片描述

pd.concat()多表合并

参数:

concat(objs, *, axis=0, join='outer', ignore_index=False, 
keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True)

参数介绍:

  1. axis=0代表index,匹配列名,往下拼接排列;axis=1代表columns,拼接生成新列,索引不变。( 默认axis=0)
  2. objs:需要连接的对象集合,一般是列表或字典;
  3. join:参数为outer(默认拼接方式,并集合并)或inner(交集合并);
  4. ignore_index=True:重建索引,默认是False

示例

import pandas as pd

list_of_dates = ['2019-11-20', '2020-01-02', '2020-02-05','2020-03-10','2020-04-16']
employees=['Hisila', 'Shristi','Zeppy','Alina','Jerry']
df = pd.DataFrame({'Joined date': pd.to_datetime(list_of_dates)}, index=employees)
pd.concat([df, df]) #根据列名匹配后,往下拼接排列)

在这里插入图片描述

pd.concat([df,df],axis=1,join='inner')

请添加图片描述

df.groupby()分组

df_new=df.loc[df['month']==1] 
df_new.groupby(df_new.index.month).mean()  #按时间序列中的月份求各列的均值.hour,day同理

在这里插入图片描述

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

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

相关文章

【阶段三】Python机器学习20篇:机器学习项目实战:AdaBoost回归模型

本篇的思维导图: 项目实战(AdaBoost回归模型) 项目背景 本项目应用AdaBoost回归算法进行项目实战,整体流程包括数据收集、数据预处理、探索性数据分析、特征工程、模型构建及优化、模型评估。 数据收集 本次建模数据来源于网络,数据项统计如下: 编号

问题:在 ArcMap 中编辑数据时,无法使用捕捉功能

问题:在 ArcMap 中编辑数据时,无法使用捕捉功能 说明 编辑时,捕捉命令无法按预期运行。无法连接要素,因为指针没有捕捉到地图文档中的边缘和折点。 原因 此问题可能由以下原因之一引起: 捕捉选项已禁用 当前编辑会…

foxmail 发送邮件到 Poste邮件服务的端口设置

Poste服务器 发件端口设置的是 587 端口,没有开通 465 端口。 在foxmail用户账号设置中,发送端口不使用 ssl 默认是 25,使用 ssl 使用的是 465 端口。 一、无效设置的3种情况 1、在发送邮件的时候,不使用 ssl, 端口…

某固态放大器输出单次微波脉冲信号测量方案

某固态放大器输出单次微波脉冲信号测量方案摘要测量指标范围频率测量测量方案仪器选择衰减器混频器信号发生器频谱分析仪可行性分析脉宽和功率测量方案一方案二仪器选择检波器衰减器示波器可行性分析摘要 某固态放大器输出单次微波脉冲信号测量,需测量单个脉冲的频…

Java锁之ReentrantLock(源码详解)

视频地址Java学习文档 ReentrantLock 这个Java中重要的锁,我想可能很多人只是听过,并没有使用过,我在看RocketMQ客户端源码的时候发现大量的使用了这个ReentrantLock,从而引起了我的兴趣,下面我们一起从源码的角度来学…

JDK7时间相关类超详细总结(含多个实例)

JDK7时间相关类一、概述二、Date类1.构造函数2.常用函数1️⃣格式2️⃣实例三、 SimpleDateFormat类1.概述2.构造方法3.常用方法1️⃣格式2️⃣实例四、Calendar类1.概述2.使用方法3.常用方法4.实例五、结语一、概述 本文主要介绍JDK7中的时间相关类 二、Date类 1.构造函数 …

JSP SSM评估文档管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSPSSM评估文档管理系统 是一套完善的系统源码,对理解JSP java SrpingMVC mybiats 框架 MVC编程开发语言有帮助,系统具有完整的源代码和数据库,以及相应配套的设计文档 ,系统主要采用B/S模式开发。 研究的基本…

从零备战蓝桥杯——动态规划(子序列篇)

文章目录啥也别说了直接进入正题:不连续子序列问题300. 最长递增子序列1143. 最长公共子序列1035. 不相交的线连续子序列问题674. 最长连续递增序列718. 最长重复子数组53. 最大子数组和编辑距离问题392. 判断子序列困难题:115. 不同的子序列583. 两个字…

使用 ORM 方式查询 Mongodb 里的数据,再也不用记 Mongodb 的语法(ORM Bee)

使用ORM方式查询Mongodb里的数据,再也不用记Mongodb的语法(ORM Bee) Mongodb的语法可读性差,要写复杂查询,要求技术能力高;Java驱动,还要使用另一种语法;学习成本太高了。 可以使用ORM方式,轻松…

数字IC设计、验证、FPGA笔试必会 - Verilog经典习题 (四)移位运算与乘法

数字IC设计、验证、FPGA笔试必会 - Verilog经典习题 (四)移位运算与乘法 🔈声明: 😃博主主页:王_嘻嘻的CSDN博客 🧨未经作者允许,禁止转载 🔑系列专栏:牛客Ve…

C++:函数对象:Lambda:Lambda详解(三)

1:定义 lambda表达式就是一个函数(匿名函数),也就是一个没有函数名的函数。为什么不需要函数名了? 因为我们直接(一次性的)用它,不需要其他地方调用它。lambda表达式也叫闭包&#x…

K8s部署前后端分离项目(二)

K8s容器部署两个项目(主节点操作) 1、创建yaml文件 master节点上创建todo-list.yaml文件,两个jar包设置了两个副本,vue设置了一个副本,端口号固定配置。 当前文件目录为:/home/docker 创建yaml文件命令为&…

数学建模----图与网络模型

目录 一.图的基本概念与数据结构 1.基本概念 2.图与网络的数据结构 1.邻接矩阵表示法 2.关联矩阵 3.Matlab工具箱简介 1.图的生成 4.问题讨论 1.最短路问题 2.最小生成树问题 一.图的基本概念与数据结构 1.基本概念 点对应于研究对象,根据关系将一些点对应相…

第14章 多数据库支持之MySql

对于一个工程性程序而言,是否支持对多数据库的CURD操作,不是必须的,只是为了预防程序部署和运行过程中如果因为版权问题而产生的额外成本而预留的退路。对于移动设备的前后端分离程序而言,如果数据库需要部署到移动设备中&#xf…

【UE4 第一人称射击游戏】42-消耗和重新装载“M4A1”弹药

上一篇:【UE4 第一人称射击游戏】41-让“M4A1”拥有独立的弹药系统本篇效果:可以看到当玩家拾取了“M4A1”后,实现了重新装弹的功能,与“AK47”的弹药系统是相互独立的。步骤:打开“ThirdPersonCharacter”&#xff0c…

PHP session反序列化漏洞原理解析

什么是session 官方Session定义:在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。主要有以下特点: session保存的位置是在服务器端 session通常是要配合cookie使用 因为HTTP…

Docker Swarm NFS 数据持久化存储

目录一、Swarm 集群部署二、NFS 服务部署三、Swarm 使用 NFS3.1 通过 Volume3.1.1 创建 Volume3.1.2 使用 Volume3.1.3 验证数据共享特性3.2 通过 Docker Stack3.2.1 创建 YAML 文件3.2.2 使用 YAML 文件3.2.3 验证数据共享特性一、Swarm 集群部署 可参考我前面的博客《基于 L…

从数据到价值,DataOps精益数据运营概述

作者:陈荣耀 阿里云全球技术服务团队 一、背景&挑战 数字化时代,企业希望借助数字化的技术能力来提升企业的经营能力,从最终业务目标上来看,一般分三类: 1. 增加收入:基于经营数据的智能分析来提升产…

24、TORCH.UTILS.DATA

PyTorch 数据加载实用程序的核心是 torch.utils.data.DataLoader 类。它代表一个可在数据集上迭代的 Python,支持map-style and iterable-style datasets,customizing data loading order,automatic batching,single- and multi-process data loading,automatic mem…

CTK Plugin Framework插件框架学习--服务追踪

文章目录一、前言二、新建插件PluginA三、新建插件PluginB四、测试一、前言 服务追踪:如果想在B插件里使用A服务,可以专门写一个类继承ctkServiceTracker,在这个类里完成对A服务的底层操作,然后在B插件里通过这个类提供的接口来使…