- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
实际上是两个问题,但让我们尝试解释一下。
我有两个数据源(例如数据帧)。其中一个包含 GPS 坐标和行驶轨迹的时间戳。另一个包含特定的兴趣点,由时间偏移给出 - 但没有 GPS 坐标。任务是找到兴趣点的 GPS 坐标。
这就是我得到的。具有 GPS 坐标的数据帧以 1 秒的间隔重新采样,并以线性方式插入缺失值:
df_resampled.head()
有了这个输出:
Time, LongitudeDegrees, LatitudeDegrees, DistanceMeters, AltitudeMeters
2017-08-24 13:33:46, 15.457636, 47.047332, 0.0, 348.600006
2017-08-24 13:33:47, 15.457668, 47.047288, 0.0, 348.600006
2017-08-24 13:33:48, 15.457699, 47.047244, 0.0, 348.600006
2017-08-24 13:33:49, 15.457973, 47.047136, 0.0, 348.600006
备注:类型均为float,索引为Numpy.dtype(日期时间)。转换和重新采样是通过以下方式完成的:
# convert numeric types first
df = df.apply(pd.to_numeric, errors='ignore')
# convert timestamp to datetime and set the index
df['Time'] = pd.to_datetime(df['Time'])
df.set_index('Time', inplace=True)
# resample to seconds and linear fill of missing values
df_downscaled = df.resample('S').mean()
df_resampled = df_downscaled.interpolate(method='linear')
另一个数据帧包含兴趣点,没有时间戳,但有时间偏移:
df_poi.head()
给出这个输出:
index, time_offset, value
0, 00:25, 60
1, 01:18, 60
2, 01:30, 100
3, 01:55, 100
4, 02:16, 100
问题和任务:但现在我陷入困境。我正在考虑将第二个数据帧的 time_offset 列转换为周期或日期时间类型,并将其添加到第一个数据帧的第一个时间戳 (start_time)。
但是a)我不知道如何将mm:ss(分钟:秒)格式的字符串转换为日期时间偏移(或句点)并将其添加到另一个时间戳。
必须添加所有偏移量的 start_time 如下:
start_time = df_resampled.index[0]
一旦偏移量转换为真实时间戳,我会将第二个数据帧与时间戳列上的第一个数据帧连接起来。
最佳答案
pd.to_timedelta
可以将 HH:MM:SS
格式的字符串转换为 timedelta64
。由于您的字符串采用 MM:SS
格式,因此您可以使用
df_poi['time_offset'] = pd.to_timedelta('00:' + df_poi['time_offset'])
将它们转换为timedelta64
。 (('00:' + df_poi['time_offset'])
添加00:
到 df_poi['time_offset']
中的每个字符串,形成一个新字符串HH:MM:SS
格式。)
您可以将start
添加到df_poi['time_offset']
:
start = df.index[0]
df_poi['Time'] = df_poi['time_offset'] + start
现在您可以合并两个 DataFrame:
result = pd.merge(df, df_poi, how='right', left_index=True, right_on='Time')
<小时/>
import pandas as pd
import numpy as np
np.random.seed(2017)
N, M = 1000, 5
df = pd.DataFrame({'Time':pd.date_range('2017-8-24 13:33:46', periods=N, freq='S'),
'Long':np.random.uniform(0, 360, size=N),
'Lat':np.random.uniform(-90, 90, size=N),})
df = df.set_index(['Time'])
df_poi = pd.DataFrame({'time_offset':['00:25', '01:18', '01:30', '01:55', '02:16'],
'value':np.random.randint(100, size=M)})
df_poi['time_offset'] = pd.to_timedelta('00:' + df_poi['time_offset'])
start = df.index[0]
df_poi['Time'] = df_poi['time_offset'] + start
result = pd.merge(df, df_poi, how='right', left_index=True, right_on='Time')
产量
Lat Long time_offset value Time
0 -19.851775 276.063876 00:00:25 28 2017-08-24 13:34:11
1 22.399545 61.956233 00:01:18 68 2017-08-24 13:35:04
2 35.472442 275.165153 00:01:30 56 2017-08-24 13:35:16
3 -60.588755 91.961901 00:01:55 2 2017-08-24 13:35:41
4 34.339641 4.033255 00:02:16 75 2017-08-24 13:36:02
关于 python 、 Pandas : join dataframes on timestamp and offset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45895600/
看来 OFFSET由于性能低下,不建议在处理大记录时使用类似 WHERE id < x LIMIT y 的东西. 如果是这种情况,为什么 OFFSET 存在,它还有其他用途吗? 最佳答案 从概念上讲,
我用过 objdump -M intel -d test 和 objdump -d test 使用 gcc 686-elf 交叉编译器反汇编一个非常简单的 for 循环。在这两种情况下,我都会得到以下
我正在尝试遵循本指南: https://spark.apache.org/docs/latest/structured-streaming-kafka-integration.html但我不明白为什么
我正在尝试遵循本指南: https://spark.apache.org/docs/latest/structured-streaming-kafka-integration.html但我不明白为什么
这个问题已经有答案了: MySQL Data - Best way to implement paging? (9 个回答) 已关闭 3 年前。 我是 SQL 世界的新手。 现在,我有以下查询: SE
托管我的db 的服务器位于美国。当我向 db 添加项目时,我希望使用 Australia/Sydney 时间存储时间。无论用户在哪个国家/地区,如果他们检索此记录,都应使用 Australia/Syd
我有一个 周边其中也有一些图像,和一段文字。 都是inline-block .每当 H2 延伸到两行时,下一个 是抵消。以下是屏幕截图。 HTML:
我正在尝试使用时区偏移量和 UTC 时间戳来调整时间。 我正在运行以下代码: var date = { utc: '2013-10-16T21:31:51', offset: -480
我不应该在我的应用程序中使用 jQuery,但我有一个场景,我需要元素的偏移量,而不是使用 $(element).offset() 我已经使用了 angular.element(element).of
我有一个包含 ID、NAME、PRICE 和 DATE 列的表。 我正在尝试编写一个分页式导航,因为表中有很多条目,所以查看整个 SELECT 的输出变得不舒服。 我写了以下请求: SELECT id
我现在已经多次看到提到的这段代码,执行 Max(a+1, a-1) 有什么意义?一开始我以为可能是为了防止下溢,但是在那种情况下不防止下溢真的没有意义。 最佳答案 谷歌搜索让我怀疑这可能是由某些(可能
我正在尝试创建一种将时间从一个时区转换为另一个时区的小方法。我认为这很简单,但是当我部署它时我得到了这个错误 The UTC Offset of the local dateTime paramete
我有一个相当复杂的 SQL 查询,涉及从大量连接返回大约 20 列,用于在 UI 中填充结果网格。它还使用几个 CTE 来预过滤结果。我在下面包含了查询的近似值(我已经注释掉了修复性能的行) 随着数据
所以我试图减去 datetime 对象。我使用 dateutil.parser 获得了一个,另一个来自 datetime.now()。我不断得到一个 TypeError: can't subtract
所以我试图减去 datetime 对象。我使用 dateutil.parser 获得了一个,另一个来自 datetime.now()。我不断得到一个 TypeError: can't subtract
我有一个 Pandas 数据框: name my_timestamp ------------------------------------------ 0 a1 201
我只是 Bootstrap 4 的初学者。 我最近才开始学习它,很遗憾,我已经遇到了问题。我修改了 Bootstrap 4 手册本身的一些代码。然而,它惨遭失败,偏移量无法正常工作。代码非常简单,但不
我尝试使用 R 进行回归。我有以下代码,导入 CSV 文件没有问题 dat <- read.csv('http://pastebin.com/raw.php?i=EWsLjKNN',sep="
假设我有 search.php 和 edit.php。在 search.php 中,他们可以删除和更新一些记录。如果用户单击“更新”按钮,系统会将用户重定向到另一个名为 edit.php 的页面。我成
我正在使用流行的 css hack 在 Internet Explorer 8 中启用边框半径,可在此处找到:( Curved-corner-border-radius-cross-browser)。
我是一名优秀的程序员,十分优秀!