我有2个数据框正在使用。一个人有一堆位置和坐标(经度,纬度)。另一个是天气数据集,其中包含来自世界各地气象站的数据及其各自的坐标。我正在尝试将最近的气象站链接到数据集中的每个位置。气象站名称和我的位置名称不匹配。
我只想通过最接近的坐标将它们链接起来,也不知道从哪里开始。
我在想一些使用
np.abs((location['latitude']-weather['latitude'])+(location['longitude']-weather['longitude'])
每个例子
位置…
Location Latitude Longitude Component \
A 39.463744 -76.119411 Active
B 39.029252 -76.964251 Active
C 33.626946 -85.969576 Active
D 49.286337 10.567013 Active
E 37.071777 -76.360785 Active
天气…
Station Code Station Name Latitude Longitude
US1FLSL0019 PORT ST. LUCIE 4.0 NE 27.3237 -80.3111
US1TXTV0133 LAKEWAY 2.8 W 30.3597 -98.0252
USC00178998 WALTHAM 44.6917 -68.3475
USC00178998 WALTHAM 44.6917 -68.3475
USC00178998 WALTHAM 44.6917 -68.3475
输出将是位置数据帧上的新列,且站名最匹配
但是,我不确定如何通过两者来完成此操作。任何帮助将不胜感激..
谢谢,斯科特
假设您有一个dist
要最小化的距离函数:
def dist(lat1, long1, lat2, long2):
return np.abs((lat1-lat2)+(long1-long2))
对于给定的位置,您可以找到最近的车站,如下所示:
lat = 39.463744
long = -76.119411
weather.apply(
lambda row: dist(lat, long, row['Latitude'], row['Longitude']),
axis=1)
这将计算到所有气象站的距离。使用idxmin
您可以找到最近的电台名称:
distances = weather.apply(
lambda row: dist(lat, long, row['Latitude'], row['Longitude']),
axis=1)
weather.loc[distances.idxmin(), 'StationName']
让我们将所有这些放到一个函数中:
def find_station(lat, long):
distances = weather.apply(
lambda row: dist(lat, long, row['Latitude'], row['Longitude']),
axis=1)
return weather.loc[distances.idxmin(), 'StationName']
现在,您可以通过将其应用于locations
数据框来获取所有最近的测站:
locations.apply(
lambda row: find_station(row['Latitude'], row['Longitude']),
axis=1)
输出:
0 WALTHAM
1 WALTHAM
2 PORTST.LUCIE
3 WALTHAM
4 PORTST.LUCIE
我有两个数据帧df1和df2 df1如下 df2就像 我想根据df2中与df1中的列名匹配的单元格值将值从df1复制到df2,所以我的df3应该看起来像 df3 基本上,我想根据df2的单元格值(df1中的列名)从df1复制df2中的列 如果它仍然令人困惑,请告诉我
问题内容: 我有一个数组和一个引用数组。的大小至少等于。例如 实际上是在指定时间信号中的峰值位置,并且包含稍后时间的峰值位置。但是某些元素实际上是不是我想要的峰(可能是由于噪声等),我想找到“真正的”一个基础。中的“真实”元素应与中的元素接近,在上面给出的示例中,中的“真实”元素应为。在这个例子中应该很明显不是我们想要的,因为它们与B中的任何元素都相去甚远。如何在python / matlab中以
我有两个数据帧,它们的列名相同,但行数不同。第一个数据帧(a)看起来与此类似: 注:站点5、6、8和12故意丢失。 第二个数据帧(b)看起来像这样: 我想要实现的是: 在那里我注入(我肯定有一个更好的术语)数据帧b到数据帧a的数据,但是我想用零替换b中的任何NAs,并保持a中的NAs不变。 我发现并尝试了这个代码: 但它会带来NAs。我考虑先将NAs替换为零,但即使如此,它也会抹去我目前在数据帧a
我有两个数据框,都包含英文和中文单词字符串,我想知道其中一个是另一个的子集:
我有2个熊猫数据框 df1= df2= 我想使用df2“类”列中的可能值搜索df1中的“课程”列,然后返回适当的合计权重。 这是我目前所知道的 导致 我怎样才能得到这样的东西 任何帮助都将不胜感激。谢谢
问题内容: 如何从一个数据库复制到另一个数据库。 数据库名称visco 我想将所有表从visco数据库复制到新数据库名称作为neptune 我创建了一个没有任何表的数据库,然后尝试从database1.bak文件还原数据库,然后显示错误为 需要查询帮助 问题答案: 使用SQL Server Management Studio: 选项1 ->右键单击要复制的数据库 ->选择“任务”>“生成脚本” -
我在课堂上创建了两个列表。 其中一个称为预算,包含元素section、month和sum,返回以下内容: [Budzet{sec='AGD/RTV',月='01',和=96},Budzet{sec='AGD/RTV',月='03',和=30},Budzet{sec='食品',月='04',和=23},Budzet{sec='游戏',月='09',和=1084}...] 这是SQL查询 第二个是元素
问题内容: 我需要将数据从一个表复制到另一个表。这两个表几乎具有相同的结构,但是位于不同的数据库中。 我试过了 我尝试此操作,但跨数据库出现错误…未实现 问题答案: 这是一个非常简单的任务。只需为此目的使用dblink: 如果您需要定期从外部数据库中获取数据,明智的做法是定义服务器和用户映射。然后,您可以使用较短的语句: