petrel软件中的等值线导出然后加入Geomap4.0中成图/用python处理petrel导出的等值线以便于加入Geomap4.0中

从petrel软件导出来的等值线格式不能直接加入Geomap软件,所以需要进行一些数据预处理
做这个事情是想探索一下Geomap4.0的使用方法,毕竟Geomap3.6用了太久,也该换新的了。
遇到的第一个难题就是Geomap4.0需要加载的数据和3.6完全不同,不知道该把数据处理成什么样子。
思索了n长时间后,想出了一个解决方法:就是先建立一个3.6版本的工区,然后拿4.0版本打开,然后再导出成4.0版本的数据,这个数据不就是4.0可以加载的数据了么。我可真牛逼,所以开始动工。

基本流程

1. petrel导出等值线格式为Zmap+
2. 用python的pandas库处理数据***重点***

  1. 用Pandas读取数据,给四列数据加个名字,x,y,num,z
  2. 删除z列的重复项
  3. 将数据按照num分割开 存进一个列表
  4. 创建一个一行的空值的DataFrame,列名为x,y,num,z
  5. 把空的DataFrame加到每个分隔开的数据后面
  6. 将所有数据整合在一起

3. 在geomap4.0加载等值线

一、导出的Zmap+格式和的数据长这样(原数据)

在这里插入图片描述

二、Geomap4.0可加载的等值线数据长这样(处理后)

在这里插入图片描述

三、用python的pandas库处理数据

1. 读取数据

import pandas as pd
fpath = "petrel_Zmap.txt"
df = pd.read_table(fpath,
                sep = '\s+',   # 表明输入数据按照空格以及多个空格分列
                #delim_whitespace = True,
                header = None,
                names = ['x', 'y', 'num', 'z'],
                engine='python')

2.删除z列重复项

#新增一列 判断以num列分组 z值的重复项
df['bool'] = df.duplicated("num")
#删除“Z”重复项
df.loc[df['bool'], 'z'] = ""
print(df.head(5))

结果为
在这里插入图片描述

3.按照num列分隔数据存入列表

#计算循环次数
number = df['num'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值