- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将文本文件转换为 netCDF 格式。我正在将文本文件中的数据读取到数据框中,其中两列是 latitude_GPS 和 longitude_GPS。输入如下:
latitude_GPS, longitude_GPS
7537.4536, 3558.4985
7672.1534, 3214.9532
它们以 ddmm.ssss 为单位进行测量,这意味着如果我们有像 7537.4536 这样的值,这里“75”是度,“37”是分钟,“4536”是秒。我想将它们转换为十进制,除了缺失值,其值为 999.0
我当前的代码如下所示:
header_rows = 1
df = pd.read_csv(args.input_file, delim_whitespace=True, skiprows=header_rows, skip_blank_lines=True, names = column_names)
num_rows = sum(1 for line in open(args.input_file) if len(line.strip()) != 0) - header_rows
def lat_lon_gps(col_index):
return ((int(col_index)/100) + round((int(col_index%100))/60, 4) + round(round(col_index%1, 4)/3600, 4))
check_na = 999.0
i = 0
while i < num_rows:
if df['latitude_GPS'][i] != check_na:
df['latitude_GPS'][i] = lat_lon_gps(df['latitude_GPS'][i])
if df['longitude_GPS'][i] != check_na:
df['longitude_GPS'][i] = lat_lon_gps(df['longitude_GPS'][i])
返回部分计算(75 + 37/60 + 4536/3600)。上面的代码返回了我想要的结果,但是对于一个有 10000 行的文件运行这部分代码大约需要 50 分钟。有没有更快的方法来做到这一点。任何想法将不胜感激。
最佳答案
问题是您正在迭代每一行。您应该利用 pandas 和 numpy 提供的矢量化。
例如:
import numpy as np
import pandas as pd
df = pd.read_csv(args.input_file,
names=['latitude_GPS','longitude_GPS'],
skiprows=1)
check_na = 999.0
def lat_lon_gps(coords):
deg = np.floor(coords / 100)
minutes = np.floor(((coords / 100) - deg) * 100)
seconds = (((coords / 100) - deg) * 100 - minutes) * 100
return deg + minutes / 60 + seconds / 3600
# Exclude NAs
logic = df.latitude_GPS != check_na
df = df[logic]
df.latitude_GPS = lat_lon_gps(df.latitude_GPS)
df.longitude_GPS = lat_lon_gps(df.longitude_GPS)
关于python- 有效地将纬度从 ddmm.ssss 转换为度数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48780185/
我想知道当动画结束或被中断时如何在旋转动画中获取当前角度/度数? 我的想法是当点击某个按钮时动画被打断时,旋转将逆时针方向(当前流向是顺时针方向),从被打断时的最后一个角度/度开始。 我试过使用 ap
我正在尝试使用 TYPE_ACCELEROMETER 传感器获取手机角度。我的目标是仅在手机倾斜后获取角度值。它有效,但问题是当我 Handlebars 机正面朝上放在 table 上时,它仍然说 i
以下代码显示为问号而不是度数符号: var airF = Math.round(Number(MDTMOBILE.RWISWeather[i].AirTemp)) + "\u00B0" + "F";
我使用 css 3D-transform rotateY 翻转带有 css transition 的 div。我希望图像翻转一定次数:当转换结束时,我再次触发它直到达到某个计数器值。 我想做什么:当
我正在开发一个 map 应用程序的插件,它有很多类,有大量的单位选项。我觉得我在维护模型内的顺序方面有很好的处理能力。例如,Angle 类具有 Degrees 和 Radians 的属性并自动相互更新
我有一个栅格,是从 netcdf 中获得的(Lambert Conic Conformal projection): library(meteoForecast) wrf_tempor
我在 mapView 的叠加层上有一组项目。 我知道大多数对象的顶部/底部/左侧/右侧位置。 我想使用 zoomToSpan() 方法来放大该区域。 用这种方法计算纬度/经度的正确方法是什么? 最佳答
给你一个具有 100 万个顶点的最大度数为 4 的简单图。 我们想找到一个最大独立子集。 一般情况下是NP难的。 度数最大为 4 的事实是否提供了计算它的有效解决方案? 最佳答案 进一步阅读维基百科页
我是一名优秀的程序员,十分优秀!