首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用pandas将字符串列转换为小数纬度和经度,跳过NaN值

可以通过以下步骤实现:

  1. 导入pandas库:
代码语言:txt
复制
import pandas as pd
  1. 创建一个包含字符串列的DataFrame:
代码语言:txt
复制
data = {'Location': ['40.7128° N', '74.0060° W', 'NaN', '37.7749° N', '122.4194° W']}
df = pd.DataFrame(data)
  1. 定义一个函数,用于将字符串转换为小数:
代码语言:txt
复制
def convert_to_decimal(coord):
    if coord != 'NaN':
        degrees, minutes, direction = coord.split('° ')
        degrees = float(degrees)
        minutes = float(minutes[:-2])
        decimal = degrees + minutes / 60
        if direction == 'S' or direction == 'W':
            decimal = -decimal
        return decimal
    else:
        return float('NaN')
  1. 应用函数到DataFrame的字符串列:
代码语言:txt
复制
df['Latitude'] = df['Location'].apply(lambda x: convert_to_decimal(x.split()[0]))
df['Longitude'] = df['Location'].apply(lambda x: convert_to_decimal(x.split()[1]))

现在,DataFrame中的字符串列已经转换为小数纬度和经度,并且跳过了NaN值。你可以通过访问df['Latitude']df['Longitude']来获取转换后的值。

注意:这里的代码示例仅用于演示目的,实际应用中可能需要根据具体情况进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

利用 pandas xarray 整理气象站点数据

一、 目标步骤 将上图示例的文件处理为(站点,时间)坐标的 nc 格式数据,方便以后直接读取,主要有以下几个步骤: 文本文件读取为 DataFrame 并将无效换为 Nan 时间信息处理为...pandas 可用的时间坐标 DataFrame 进一步转换为 Dataset 并补充经纬度、站点名称信息 目标如图所示 二、 具体处理 1....plt 定义处理过程中的函数: 处理时间坐标,利用 datetime 整形的年、月、日转换为 pandas 的时间戳 def YMD_todatetime(ds): # 读取年月日数据,转换为...,+ 表示前面的字符至少重复一次(具体查看正则表达式的用法) na_values 选项将把指定的换为 Nan parse_dates=False 防止某些字符解析为日期 StaDir = '....'].apply(LatLng_Rad2Dec) # 转换为十进制小数 lon = stainfo.loc[ind, '经度'].apply(LatLng_Rad2Dec) elev = stainfo.loc

5.2K12

利用 pandas xarray 整理气象站点数据

一、 目标步骤 将上图示例的文件处理为(站点,时间)坐标的 nc 格式数据,方便以后直接读取,主要有以下几个步骤: 文本文件读取为 DataFrame 并将无效换为 Nan 时间信息处理为...pandas 可用的时间坐标 DataFrame 进一步转换为 Dataset 并补充经纬度、站点名称信息 目标如图所示 ?...plt 定义处理过程中的函数: 处理时间坐标,利用 datetime 整形的年、月、日转换为 pandas 的时间戳 def YMD_todatetime(ds): # 读取年月日数据,转换为...,+ 表示前面的字符至少重复一次(具体查看正则表达式的用法) na_values 选项将把指定的换为 Nan parse_dates=False 防止某些字符解析为日期 StaDir = '....'].apply(LatLng_Rad2Dec) # 转换为十进制小数 lon = stainfo.loc[ind, '经度'].apply(LatLng_Rad2Dec) elev = stainfo.loc

9.2K41

文本字符串转换成数字,看pandas是如何清理数据的

标签:pandas 本文研讨字符串转换为数字的两个pandas内置方法,以及当这两种方法单独不起作用时,如何处理一些特殊情况。 运行以下代码以创建示例数据框架。...每列都包含文本/字符串,我们将使用不同的技术将它们转换为数字。我们使用列表解析创建多个字符串列表,然后将它们放入数据框架中。...在pd.to_numeric方法中,当errors=’coerce’时,代码运行而不引发错误,但对于无效数字返回NaN。 然后我们可以用其他伪(如0)替换这些NaN。...我们可以使用df.str访问整个字符串列,然后使用.str.replace()方法替换特殊字符。...,现在可以使用df.astype()或pd.to_numeric()文本转换为数字。

6.4K10

【实战】我背着女朋友,用 Python 偷偷抓取了她的行踪

3 编 写 脚 本 整个操作分为 3 步骤,分别是获取图片的经度纬度、对经度纬度进行数据矫正、调用高德逆地理编码 API 获取具体位置。 第 1 步,获取图片的「经度纬度」。...使用 exifread 库可以直接读取图片文件,获取到图片的元数据,包含经度纬度、南北纬方向、东西经方向拍摄时间。...因为通过 GPS 获取的经度纬度高德地图的坐标存在一定的误差,这里需要把坐标转换为「火星坐标系」。...def __format_lati_long_data(self, data): """ 对经度纬度数据做处理,保留6位小数 :param data: 原始经度纬度...int(data_list[0]) # 由于高德API只能识别到小数点后的6位 # 需要转换为浮点数,并保留为6位小数 result = "%.6f" % (data_degree

1.1K20

我背着女朋友,用 Python 偷偷抓取了她的行踪

03 编写脚本 整个操作分为 3 步骤,分别是获取图片的经度纬度、对经度纬度进行数据矫正、调用高德逆地理编码 API 获取具体位置。 第 1 步,获取图片的「经度纬度」。...使用 exifread 库可以直接读取图片文件,获取到图片的元数据,包含经度纬度、南北纬方向、东西经方向拍摄时间。...因为通过 GPS 获取的经度纬度高德地图的坐标存在一定的误差,这里需要把坐标转换为「火星坐标系」。...def __format_lati_long_data(self, data): """ 对经度纬度数据做处理,保留6位小数 :param data: 原始经度纬度...int(data_list[0]) # 由于高德API只能识别到小数点后的6位 # 需要转换为浮点数,并保留为6位小数 result = "%.6f" % (data_degree

2K71

数据科学人工智能技术笔记 十九、数据整理(上)

使用正则表达式字符串分解为列 # 导入模块 import re import pandas as pd # 创建带有一列字符串的数据帧 data = {'raw': ['Arizona 1 2014...,地理编码(物理地址或位置转换为纬度反向地理编码(纬度换为物理地址或位置)是常见任务。...在我们处理数据之前,我们需要1)字符串分成纬度经度,然后将它们转换为浮点数。以下代码就是这样。...这正是我们想要看到的,一列用于纬度的浮点一列用于经度的浮点。 为了反转地理编码,我们特定的经纬度对(这里为第一行,索引为0)提供给 pygeocoder 的reverse_geocoder函数。...# 经度纬度换为某个位置 results = Geocoder.reverse_geocode(df['latitude'][0], df['longitude'][0]) 现在我们可以开始提取我们想要的数据了

5.8K10

小白也能看懂的百度地图API使用案例(附全国高速收费站点数据~)

写在前面 大家好,我是饭都吃不起的南南 昨天帮朋友爬了全国的高速站点收费站这里下载 【http://www.bestunion.cn/gaosu/p_4/sfzlist.html】 由于该网站并没有西藏海南省的高速收费站...数据如下 调用百度API批量拾取坐标 接下来需要调用百度API批量拾取坐标,不会python的同学也没关系,可以打开【https://maplocation.sjfkai.com/】这个网站批量,...下面开始写代码【复制粘贴】 pandas读取excel数据存为列表 import pandas as pd def excel_one_line_to_list(): df = pd.read_excel...for s_li in df_li: result.append(s_li[0]) #print(result) return result#return返回结果...if __name__ == '__main__': result = excel_one_line_to_list()#接收结果 地址转换为纬度所以选择的是地理编码,如果要搞别的事情的话

2.1K30

Pandas系列 - 基本功能统计操作

一、系列基本功能 二、DataFrame基本功能 三、基本统计性聚合函数 sum()方法 sum()方法 - axis=1 mean()方法 std()方法 - 标准差 四、汇总数据 包含字符串列 五、...-0.950136 3 -0.067827 dtype: float64 二、DataFrame基本功能 列出比较重要的一些方法 编号 属性或方法 描述 1 T/tranpose() 置行列...25% 第一四分位数(Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字 50% 中位数 75% 同上类似 max 最大 import pandas as pd import...3.230000 50% 29.500000 3.790000 75% 35.500000 4.132500 max 51.000000 4.800000 可以看到,默认情况下排除了字符串列...,只统计了数字的列 那么,如果想要都包含的话,该怎么操作: object - 汇总字符串列 number - 汇总数字列 all - 所有列汇总在一起(不应将其作为列表传递) 包含字符串列 import

67410

模式检验库Meteva笔记:加载本地观测数据

本文介绍如何 NWPC 生成的站点观测文本文件接入到 Meteva 工具中。 站点数据格式 在 Meteva 中,使用 pandas.DataFrame 对象表示站点数据,类似 Excel 表格。...每个站点数据表格都必须包含如下所示的六个列,用于表示每行记录的元信息: level:层次 time:时间 dtime:预报时效 id:站点号 lon:站点经度 lat:站点纬度 其余列均为数据列,可以任意取名字...包括以下 12 个字段(括号中是 CIMISS 的要素代码): 站号 (Station_Id_d) 纬度 (Lat) 经度 (Lon) 海平面气压 (PRS_Sea) 温度 (TEM) 露点温度 (DPT...处理缺失 999999.0 替换为 np.nan obs_file = open(obs_file_path, "r") obs_file.readline() df = pd.read_csv(...数据中没有 level,time dtime 信息,这些列被填充为 NaN 绘制 绘制站点图前需要补充缺失的列。

2.1K22

50个Pandas的奇淫技巧:向量化字符串,玩转文本处理

因此,娴熟简洁的数据处理技巧,是提高建模效率建模质量的必要能力。这里开个专题,总结下Pandas使用方法,方便大家,也方便自己查阅。...Pandas为可能存在字符串的SeriesIndex对象提供了str属性,不仅能够进行向量化操作,还能够处理缺失。...向量化的操作使我们不必担心数组的长度维度,只需要关系操作功能,尤为强大的是,除了支持常用的字符串操作方法,还集成了正则表达式的大部分功能,这使得pandas在处理字符串列时,具有非常大的魔力。...如果 False ,则返回包含字符串列表的系列/索引。 regex:布尔,默认无。...repl:str,可选 用于替换的字符串。如果未指定 (None),则切片区域换为字符串。

5.9K60

Python数据分析的数据导入导出

然而,数据分析的目的不仅仅是为了理解和解释数据,更重要的是数据转化为有价值的信息知识。这就需要将分析结果以易于理解使用的形式导出,供其他人使用。...可以是整数(表示跳过多少行)或列表(表示要跳过的行号)。 skip_footer:指定要跳过的末尾行数。默认为0,表示不跳过末尾行。 na_values:指定要替换为NaN。...read_excel()函数还支持其他参数,例如sheet_name=None可以导入所有工作表,na_values可以指定要替换为NaN等。你可以查阅pandas官方文档了解更多详细信息。...na_filter(可选,默认为True):用于指定是否缺失解析为NaN。 verbose(可选,默认为False):用于指定是否打印读取过程中的详细信息。...skiprows:指定要跳过的行数。可以是一个整数(表示跳过的行数)或一组整数(表示要跳过的行号)。 attrs:一个字典,用于设置表格的属性。可以使用键值对指定属性名称属性

12110

Pandas分分钟钟处理8w条数据!

我们需要做的就是,每一个经纬度数据提取出来,分别存储到Excel的两列中,同时多添加一列,表示行号,总共就是3列。 原始数据截图: 我处理后截图: 我的测试 直接先上完整代码吧!...import pandas as pd # 1....由于每一行数据都在(( ))双括号中,我们需要先提取其中的字符串,然后按照,逗号切分,再按照空格切分,得到每个经纬度数据的列表。同时使用+加号拼接列表,就得到了每行数据,都是3个数据组成的列表嵌套。...再使用append()函数,就可以数据添加到表格中。 最后是数据写入。我们组织好的数据,最终写入到Excel文件中,不要索引行,因此使用了index=None参数。...① 取出其中一条数据 x = df["列一"][0] x 结果如下: ② 切片+切分字符串 y = x[10:-3].split(",") y 结果如下: 注意到上述结果中,存在一些空格,我们后续需要使用

83220

【GIS - 地理信息系统】经纬度计算 ( 经度纬度概念 | 地球周长计算 | 地球经线周长计算 | 经纬度相关计算 | 经纬度坐标距离计算公式 | 经纬度与实际距离换算 | 相关代码实现 )

垂直 y 轴 的坐标 , 纬度的取值范围 -90 度 ~ + 90 度 ; 西经 南纬 是负数 ; 经度使用 W ( 东经 ) E ( 西经 ) 表示 , 纬度 使用 N ( 北纬 ) ...b = Lng1 - Lng2 , 是 两个坐标点的 经度之差 ; 地球半径为 6378.137 千米 ; 使用代码实现上述逻辑 : public class LocationUtils...° 1 米对应纬度 纬度 ( 南北方向 ) 上 1 米 , 对应的度数是固定的 ; 为 360° / 40030173 = 0.00000899° 3、实际距离与经纬度换算 1 度经度对应东西距离...EARTH_RADIUS / 180 * Math.PI * degree; } } 3、弧度与角度计算 public class LocationUtils { /** * 角度转换为弧度...static double deg2rad(double degree) { return degree / 180 * Math.PI; } /** * 弧度转换为角度

3.2K20

读完本文,轻松玩转数据处理利器Pandas 1.0

新数据类型:布尔字符Pandas 1.0 还实验性地引入了新的数据类型:布尔字符串。 由于这些改变是实验性的,因此数据类型的 API 可能会有轻微的变动,所以用户在使用时务必谨慎操作。...默认情况下,Pandas 不会自动将你的数据强制转换为这些类型。但你可以修改参数来使用新的数据类型。...字符串数据类型最大的用处是,你可以从数据帧中只选择字符串列,这样就可以更快地分析数据集中的文本。...此前,在遇到分类数据以外的时,fillna() 会引发 ValueError。因此,它现在纳入 assert 来测试不一致,并处理异常。 另外,在分类数据转换为整数时,也会产生错误的输出。...特别是对于 NaN ,其输出往往是错误的。因此,新版 Pandas 修复了这个 bug。

3.5K10

Geohash算法原理及实现

Geohash算法就是纬度编码,二维变一维,给地址位置分区的一种算法。 经纬度常识 经线是纵的,经度是横的,用于表示不同的经线,纬线是横的,纬度是纵的,用于表示不同的纬线,如下图 ? ?...; 经纬线米的换算:经度或者纬度0.00001度,约等于1米,这个在GPS测算距离的时候可以体会到,GPS只要精确到小数点后五位,就是10米范围内的精度 经度0度的位置为本初子午线,在180度的位置转为西经...GeoHash用一个字符串表示经度纬度两个坐标。...比如说左边区域的经度肯定是自身经度减去最小经度单位。纬度也可以通过加减,得到上下的纬度,最终周围8个单位也可以计算得到。...() geohash换为POINT 具体使用方法可参考:https://dev.mysql.com/doc/refman/8.0/en/spatial-geohash-functions.html

1.6K20
领券