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

高频数据的重复值处理

数据源为高频 trades 数据

1. 导入数据

import pandas as pd

df = 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"})

相关推荐

  1. 数据预处理-平均值插

    2024-04-28 19:42:08       37 阅读
  2. 数据清洗与预处理:打造高质量数据分析基础

    2024-04-28 19:42:08       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-28 19:42:08       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-28 19:42:08       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-28 19:42:08       87 阅读
  4. Python语言-面向对象

    2024-04-28 19:42:08       96 阅读

热门阅读

  1. 费曼学习法个人总结-1

    2024-04-28 19:42:08       31 阅读
  2. 【Linux驱动层】iTOP-RK3568学习之路(六):定时器

    2024-04-28 19:42:08       29 阅读
  3. 一般数组队列(具有伪溢出的队列)

    2024-04-28 19:42:08       29 阅读
  4. C程序调用C++函数,以及C++调用C函数

    2024-04-28 19:42:08       27 阅读
  5. IP地址的地理位置如何确定?

    2024-04-28 19:42:08       32 阅读
  6. js 下载音频的实现方式

    2024-04-28 19:42:08       27 阅读
  7. brew安装的软件在什么地方

    2024-04-28 19:42:08       32 阅读
  8. B+树(B+ Tree)

    2024-04-28 19:42:08       28 阅读
  9. web server apache tomcat11-14-CGI

    2024-04-28 19:42:08       32 阅读
  10. C#实战:图像清晰度增强介绍和案例实践

    2024-04-28 19:42:08       32 阅读
  11. windows10 安装iis 跑asp.net

    2024-04-28 19:42:08       35 阅读
  12. AIGC在医疗行业的应用、伦理风险、未来展望

    2024-04-28 19:42:08       35 阅读