数据分析数据预处理:重复值(duplicated方法)

devtools/2024/10/19 17:42:42/

高频数据的重复值处理

数据源为高频 trades 数据

1. 导入数据

import pandas as pddf = pd.read_csv('hf_data.csv')print(df)

2. duplicate方法查看重复值

(1)subset 参数指定columns name

df.duplicated(subset='localtime').sum()

subset指定localtime判断是否存在重复值,返回bool

check_localtime = df.duplicated(subset='localtime')df[check_localtime>0].tail(20)

可以看到同个时间戳有多笔成交。

3. 重复值处理

针对不同的数据需求,最简单的三种重复值处理方法。

(1)drop_duplicated() 直接删除掉重复数据

df_drop_duplicate = df.drop_duplicates(subset='localtime')print("原数据shape",df.shape)
print("删除重复值后数据shape",df_drop_duplicate.shape)
print("检验重复值,",df_drop_duplicate.duplicated().sum())

可以看到重复数据占比还是比较多的,若重复数据有意义,比如该数据描述的是 交易数据,则当同个时间戳有多个交易数据描述了当下市场的活跃情况;因此用该方案做数据处理并不一定合适。

(2)保留重复值中的第一个或最后一个:drop_duplicated的keep参数

df_keep_last = df.drop_duplicates(subset='localtime',keep='last')

当我们想保留重复数据最后一个值,可以使用drop_duplicated的keep参数,"last"为最后一个值,“first”为第一个值。

(3)使用groupby对重复值做运算

分析原数据:localtime重复是因为同个时间多笔成交单形成,其次数据中有其他的属性比如价格(price),成交量(qty),交易方向(side);因此比较合适的处理方法是将数据时间戳合并到最小单位1ms,而针对不同的属性,可以采取:保留最后一个价格,总成交量等等;这样即处理了重复值的问题,也保留了数据中的信息

df.groupby(by='localtime').agg({'qty':"sum",'price':"last"})


http://www.ppmy.cn/devtools/27423.html

相关文章

Java_从入门到JavaEE_05

Day05 一、Java的执行语句(续) 1.循环语句 1.for循环 语法规则: for(表达式1;表达式2;表达式3){ …代码块/循环体… } 理解: 表达式1 - 初始化变量 表达式2 - 判断条件 表达式3 - 更新变量 执行步骤: 初始化变量 …

【Redis深度专题】「核心技术提升」高级特性之Lua脚本执行机制的实现与探究

高级特性之Lua脚本执行机制的实现与探究 内容梗概什么是LuaLua的应用Lua的特点Redis引入Lua脚本Redis中引入Lua的原因Lua脚本的原子处理能力Lua减少网络开销Lua脚本复用与提高效率 Redis中Lua的常用命令指令:EVAL指令格式案例介绍Redis函数:call和pcallr…

手机测试之-adb

一、Android Debug Bridge 1.1 Android系统主要的目录 1.2 ADB工具介绍 ADB的全称为Android Debug Bridge,就是起到调试桥的作用,是Android SDK里面一个多用途调试工具,通过它可以和Android设备或模拟器通信,借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多…

Linux的NVM安装

搬运 如何在 Linux 上安装和管理多个版本的 Node.js 想要在 Linux 计算机上安装多个版本的 Node.js?以下是您需要了解的有关 NVM 的信息。 如果您曾经因为没有安装兼容版本的 Node.js 而在运行项目时遇到问题,那么您并不孤单。幸运的是,这个…

智能化未来:Agent AI智能体的崛起与全球挑战

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

【提示学习论文】PMF:Efficient Multimodal Fusion via Interactive Prompting论文原理

Efficient Multimodal Fusion via Interactive Prompting(CVPR2023) 基于交互式提示的高效多模态融合方法减少针对下游任务微调模型的计算成本提出模块化多模态融合架构,促进不同模态之间的相互交互将普通提示分为三种类型,仅在单…

Android 11在app中修改屏幕亮度

先看效果&#xff1a; Android 11在app中修改屏幕亮度 展示视频 可以看到&#xff0c;这是一个非常简单的功能&#xff0c;拖动进度条&#xff0c;屏幕亮度随即变化&#xff0c;界面上也实时更新亮度值 实现部分&#xff1a; 一、布局文件 1.activity_brightness.xml <?…

MongoDB聚合运算符:$substrBytes

MongoDB聚合运算符&#xff1a;$substrBytes 文章目录 MongoDB聚合运算符&#xff1a;$substrBytes语法使用举例 $substrBytes聚合运算符返回字符串的子串&#xff0c;子串是从指定的索引位置&#xff08;以UTF-8字节为标准&#xff09;开始并包含指定数量的字符&#xff0c;索…