python读取列数不规则文件/python数据框分割

news2024/9/25 17:20:24

问题

将探空数据读取,并按每日单纯储存,数据如下:
在这里插入图片描述
为一年数据,存在部分列的数据缺失问题。

数据读取

使用read_csv文件读取文件,由于列数存在不一致问题,需要固定最大列数:

names=["date","id","alt","lat","lon","p","t","rh","ff","dd"]
data=pd.read_csv(r'F:/Sonde2015/NYA_UAS_2015.tab',header=None,sep='\\s+',skiprows=25,names=names)

此时,data为一个134355×10的dataframe,缺失部分为nan自动补齐。

添加时间戳标签

为了便于数据框的分割提取,我们考虑添加标签,即提取对应的日期,并将其转为时间戳标签,此后,根据标签便可分割dataframe。
首先提取数据里的日期信息,用到了正则匹配:

def extract_date(text):
    pattern = r'\d{4}-\d{2}-\d{2}'
    match = re.search(pattern, text)
    if match:
        return match.group()
    else:
        return None
obsdt=data.iloc[:,0]
date={}
for i in range(0,len(obsdt)):
    t=extract_date(str(obsdt[i]))
    date[i]=datetime.strptime(t, '%Y-%m-%d')

构建并添加时间戳标签:

date=pd.Series(date)
date=date.tolist()
data.insert(0, 'dt', None)
data['dt']=data['dt'].astype('datetime64[ns]')
data['dt']=date
data=data.set_index('dt')#将date作为标签
data.index=pd.DatetimeIndex(data.index)#将标签转为时间索引
data.axes#查看

切割dataframe

使用groupby切割,此时,dataframe的标签为时间戳日期,同一标签日期的便会被提取:

DFList = [group[1] for group in data.groupby(data.index)]

此时DFList为列表,元素为分割的子数据框。

输出

将切割的dataframe直接输出即可:

for i in range(0,len(DFList)):
    d=DFList[i]
    fname=d.index[0]
    fname=str(fname)
    fname=fname[0:10]
    csvname=fname+'.dat'
    d.to_csv(csvname,sep=' ',index=False,header=True)
    

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

function函数指针和lamada的[]和[=]注意事项

在工作的过程中&#xff0c;lamda表达式的 重点&#xff1a; 1.function对象存储函数指针。 2.lamada表达式&和捕捉的方式 lamda传入引用&&#xff0c;导致作用域消失&#xff0c;最终报错 std::function<void()> pFun; void GetNum1(const std::function<…

python随手小练14

题目&#xff1a; 文件操作 &#xff1a; 根据文件要求&#xff08;测试&#xff09;筛选出数据并且放入一个新的文件 具体操作&#xff1a; f1 open("1.txt","r",encoding"UTF-8") f2 open("2.txt","w",encoding"U…

【Linux】:Linux开发工具之Linux编译器——gcc/g++的使用

&#x1f4bb;1.背景知识 &#x1f372;1. 预处理&#xff08;进行宏替换) 预处理阶段我们要分为1.头文件展开2.宏替换3.条件编译4.去掉注释 这一步会帮助我们生成.i文件 &#x1f372;2. 编译&#xff08;生成汇编) 编译阶段我们要分为1.检查语法2.生成汇编代码 最后生成.s文…

物联网二维码核销盒对接文档

核销盒是干嘛的&#xff1f; 1.在某些场景下快速核销订单或打卡签到等&#xff0c;通过核销盒能快速将订单信息发送到后端进行处理。 一&#xff0c;首先你需要有一台核销设备&#xff0c;也就是核销盒。 二&#xff0c;通过接口激活或更新核销盒 ​​​​​​​ 简要描述 激…

如何通过API接口对接淘宝平台商品订单/买家订单/卖家订单接口数据【附代码实例】

通过API获取订单号&#xff1a; 如果需要通过API获取订单号&#xff0c;首先需要在淘宝联盟开通API权限&#xff0c;并获取到自己的appKey和appSecret。 具体步骤如下&#xff1a; &#xff08;1&#xff09;构建API请求&#xff0c;包括API接口、请求参数、签名等信息&…

UTC时间戳与北京时间转换

文章目录 前言一、几个时间相关的概念二、场景三、验证方法四、源码五、运行结果六、资源自取 前言 在应用中用到了 UTC 时间戳与北京时间进行转换的需求&#xff0c;这里做一个记录&#xff0c;方便后面有需求时直接拿来用。 一、几个时间相关的概念 GMT 时间&#xff1a;Gr…

【分布式·大数据】大模型赛道如何实现华丽的弯道超车 —— AI/ML训练赋能解决方案

文章目录 大模型赛道如何实现华丽的弯道超车 —— AI/ML训练赋能解决方案01 具备对海量小文件的频繁数据访问的 I/O 效率02 提高 GPU 利用率&#xff0c;降低成本并提高投资回报率03 支持各种存储系统的原生接口04 支持单云、混合云和多云部署01 通过数据抽象化统一数据孤岛02 …

数据库扩展语句,约束方式

扩展语句 create table if not exists ky32 &#xff08;&#xff09;&#xff1a;如果表存在就不创建了 zerofill 自动补齐&#xff08;在命令行可以查看&#xff09; primary key 设置成主键 auto_increment 表示这一列可以自增&#xff0c;默认从1开始&#xff0c;每条记录…

springboot和flask整合nacos,使用openfeign实现服务调用,使用gateway实现网关的搭建(附带jwt续约的实现)

环境准备&#xff1a; 插件版本jdk21springboot 3.0.11 springcloud 2022.0.4 springcloudalibaba 2022.0.0.0 nacos2.2.3&#xff08;稳定版&#xff09;python3.8 nacos部署&#xff08;docker&#xff09; 先创建目录&#xff0c;分别创建config&#xff0c;logs&#xf…

轻松理解 Transformers(2):Attention部分

编者按&#xff1a;随着人工智能技术的不断发展&#xff0c;Transformers 模型架构已成为自然语言处理领域的重要基石。然而&#xff0c;许多人对其内部工作机制仍然感到困惑。本文通过浅显易懂的语言和生活中的例子&#xff0c;帮助读者逐步理解 Transformers 中最核心的 Atte…

加速度中标云尖信息「电子元器件商城」开发项目——加速度jsudo

深圳市加速度软件开发有限公司在电子元器件和工业品行业有着多年得商城开发经验&#xff0c;服务过半导体、元器件、工业品行业的多家上市公司或实力工厂。选择加速度合作的60%的客户&#xff0c;或多或少都有踩坑的经历&#xff0c;这一次他们在选择商城开发商的时候格外谨慎&…

绝味食品营收失速,“卤味鸭脖”还卖得动吗?

随着三季报的密集披露期到来&#xff0c;多家消费领域休闲食品行业上市公司三季报报喜&#xff0c;在消费端呈现欣欣向荣的景象。 甘源食品&#xff1a;2023年前三季度营收13.14亿元&#xff0c;同比增长35.56%&#xff0c;净利润2.14亿元&#xff0c;同比增长139%&#xff0c…

delphi 11.3 FastReport 多设备跨平台 打印之解决方法

以下能WINDOWS10 DELPHI 11.3 FastReport6.0上顺利通过 FastReport6.2对Multi-Device Application应用的支持不够友好&#xff0c;如下图&#xff1b;在palette FastReport6.0才出现几个制件。 非Multi-Device Application应用时是一大堆&#xff1b; 非Multi-Device Appl…

(CESM)地球系统模式

目前通用地球系统模式&#xff08;Community Earth System Model&#xff0c;CESM&#xff09;在研究地球的过去、现在和未来的气候状况中具有越来越普遍的应用。CESM由美国NCAR于2010年07月推出以来&#xff0c;一直受到气候学界的密切关注。近年升级的CESM2.0在大气、陆地、海…

腾讯云轻量应用服务器的“镜像”操作系统选择方法

腾讯云轻量应用服务器镜像怎么选择&#xff1f;如果是用来搭建网站可以选择宝塔Linux面板腾讯云专享版&#xff0c;镜像系统根据实际使用来选择&#xff0c;腾讯云百科txybk.com来详细说下腾讯云轻量应用服务器镜像的选择方法&#xff1a; 腾讯云轻量应用服务器镜像选择 轻量…

Spring源码-refresh(1)

1、Refresh方法简介 refresh 是Spring的核心流程&#xff0c;主要包含13个方法。这13个方法中主要又包含3个方法。 如图&#xff1a; 其中标记星号的代表主要的方法。从方法中后面的分支数据也可以看出&#xff0c;主要的方法中存在大量的逻辑处理&#xff0c;后面我们会慢慢分…

Android出现app右上角打了小叉叉

解决方法 找到项目文件夹--------找到.idea文件然后删除--------再次从新打开

黄金期货与黄金现货的区别

黄金期货与黄金现货是有区别的&#xff0c;比如在交易机制方面&#xff0c;黄金期货有具体的交割日&#xff0c;合约到期就必须交割&#xff0c;否则会被强行平仓或以实物进行交割&#xff0c;而在保证金不足时也会被强行平仓&#xff1b;而现货黄金就没有交割限制&#xff0c;…

于璠访谈录 | AI 框架应该和而不同?

点击以下链接收听本期 “大咖访谈” 播客&#xff0c;与大咖面对面&#xff1a; 大咖访谈链接&#xff1a;于璠 | AI 框架应该和而不同&#xff1f; 刘天栋&#xff1a;访谈主持&#xff0c;开源雨林社区顾问、开源社联合创始人、ASF member 于璠&#xff1a;访谈嘉宾&#xf…

Redis——哨兵模式与Zookeeper选举的异同点

摘要 当我们使用主从复制出现的问题&#xff1a;手动故障转移&#xff1a;写能力和存储能力受限&#xff1a;主从复制 -master 宕机故障处理。 主从切换技术的方法是&#xff1a;当主服务器宕机后&#xff0c;需要手动把一台从服务器切换为主服务器&#xff0c;这就需要人工干…