python进行数据抽取_python中的数据抽取
首先创建一个数据帧(使用随机数据):import pandas as pd
import numpy as np
from datetime import datetime, timedelta
ab = pd.DataFrame()
ab["subjectID"] = np.random.randint(5, size=200)#random list of "subjects" from 0 to 4
ab["day_number"] = np.random.randint(50, size=200)#random list of "dates" from 0 to 50
ab['real_date'] = ab.day_number.apply(lambda d: datetime(2018, 1, 1) + timedelta(days=d)) #to simulate real dates
ab["score1"] = np.random.randint(200, size=200)#meant to simulate one measurement from one subject
ab["score2"] = np.random.randint(400, size=200)#meant to simulate a second measurement
min_day = ab.real_date.min()
ab = ab.groupby(['subjectID', 'real_date']).sum() #because some subjects have more than 1 score each day
print(ab.head(10))
day_number score1 score2
subjectID real_date
0 2018-01-01 0 306 273
2018-01-04 3 32 60
2018-01-05 4 61 135
2018-01-08 21 477 393
2018-01-09 8 22 341
2018-01-10 9 137 30
2018-01-11 30 281 674
2018-01-14 13 183 396
2018-01-15 14 41 337
2018-01-16 15 83 50
然后用下一天的数据填充没有数据的天数:
^{pr2}$
4天的下一次重采样(分组依据):res = df.reset_index(level='subjectID').groupby('subjectID').resample('4D').first() #group by 4 days periods and keep only the first value
res = res.drop(columns='subjectID')
print(res.head(10))
day_number score1 score2
subjectID real_date
0 2018-01-01 0 306 273
2018-01-05 4 61 135
2018-01-09 8 22 341
2018-01-13 13 183 396
2018-01-17 18 91 46
2018-01-21 20 76 333
2018-01-25 48 131 212
2018-01-29 29 92 81
2018-02-02 32 172 55
2018-02-06 72 98 246
最后,当有超过4天的周期没有数据时,重新设置索引并处理情况:res = res.reset_index('real_date', drop=True) #the real_date has no meaning anymore
res['real_date'] = res.day_number.apply(lambda d: min_day + timedelta(days=d)) #good real_date based on the day_number
res = res.drop(columns='day_number')
res = res.set_index('real_date', append=True)
res = res.groupby(level=['subjectID', 'real_date']).first() #regroups periods with no data for more than 4 days
print(res.head(10))
score1 score2
subjectID real_date
0 2018-01-01 306 273
2018-01-05 61 135
2018-01-09 22 341
2018-01-14 183 396
2018-01-19 91 46
2018-01-21 76 333
2018-01-30 92 81
2018-02-02 172 55
2018-02-10 40 218
2018-02-15 110 112
这有点复杂,但我认为这是最好的办法。虽然我不知道效率如何,但似乎也没那么糟。在
python进行数据抽取_python中的数据抽取相关推荐
- python做mysql数据迁移_Python中MySQL数据迁移到MongoDB脚本的方法
MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库 ...
- python序列化和反序列化_Python 中 json 数据序列化和反序列化
1.Json 定义 定义:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.JSON 的数据格式其实就是 python 里面的字典格式,里 ...
- Python基础_第5章_Python中的数据序列
Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...
- python怎么读取txt文件数据保存数组中-python将txt等文件中的数据读为numpy数组的方法...
实际中,很多数据都是存为txt文件.csv文件等,但是在程序中处理的时候numpy数组或列表是最方便的.本文简单介绍读入txt文件以及将之转化为numpy数组或列表的方法. 1 将txt文件读为lis ...
- python导入txt文件并绘图-Python实现读取txt文件中的数据并绘制出图形操作示例
本文实例讲述了Python实现读取txt文件中的数据并绘制出图形操作.分享给大家供大家参考,具体如下: 下面的是某一文本文件中的数据. 6.1101,17.592 5.5277,9.1302 8.51 ...
- python读txt文件 数组-python将txt等文件中的数据读为numpy数组的方法
实际中,很多数据都是存为txt文件.csv文件等,但是在程序中处理的时候numpy数组或列表是最方便的.本文简单介绍读入txt文件以及将之转化为numpy数组或列表的方法. 1 将txt文件读为lis ...
- python 数据导入mysql_用python批量向数据库(MySQL)中导入数据
用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同Current database: pyth ...
- python批量导入mysql_用python批量向数据库(MySQL)中导入数据
用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...
- 系统的认识大数据人工智能数据分析中的数据
今天,大量数据.信息充斥我的日常生活和工作中,仿佛生活在数据和信息的海洋中,各类信息严重影响了我们的生活,碎片.垃圾.过时信息耗费了我们宝贵时间,最后可留在我们大脑中的数据.信息和知识少之又少,如何提 ...
- java代码转置sql数据_SQL Server中的数据科学:数据分析和转换–使用SQL透视和转置
java代码转置sql数据 In data science, understanding and preparing data is critical, such as the use of the ...
最新文章
- /etc/passwd文件小析
- SpringBoot 中添加jsp支持遇到的问题
- mysql 查找多组数据结构_MySql主要索引数据结构
- ORBSLAM的ORB特征到底从哪儿来?
- 购物车程序二(模拟了用户登录,限次数三次)
- java数组三种排序方式
- Mac下超级好用的5个顶级“实用”APP推荐
- 博世如何通过创新加速成功孵化出人工智能养虾初创公司?
- PC微信机器人之实战分析微信加人call
- 感谢同事的临别赠言,愿自己一路顺风。
- Tcache Attack
- vscode超炫敲击特效嘎嘎帅!!!
- 10秒钟解决TeamViewer商业用途 、5分钟后终止等问题
- python常用library
- 事务隔离级别与事务传播行为简介
- 年龄计算机在线计算适合你的对象,抖音年龄计算器恋爱对象生日,年龄计算器适合你的恋爱对象...
- python画图:小圆覆盖大圆问题
- Nero8 刻录数据到CD/DVD
- 企业管理新标杆:向对手学习
- 打造前端瑞士军刀,为你开发路上披荆斩棘
热门文章
- 华为Metn40有没有鸿蒙系统,华为matex2测评_华为matex2上手测评
- android自定义壁纸制作,如何为Android制作自己的自定义壁纸 | MOS86
- 从零开始学自然语言处理-十万字长文带你深入学习自然语言处理全流程
- dos 教程(很全的)
- 3dmax材质丢失插件_3dmax找丢失贴图的材质插件怎么用
- Linux下的tree的简单使用
- python 离线安装paramiko_离线安装 Python 2.7, paramiko 和 tornado
- flash遮罩弹性跟随效果
- 使用开源库libyuv中替换开源汇编接口,解决汇编接口中的崩溃问题
- 波特率、比特率和通信速率