我有两个csv数据集,正在尝试合并在一起。第一个数据集包含非常规的城市名称(即:曼哈顿或皇后区,应该是纽约)及其纬度/经度。第二个数据集包含常规城市名称及其纬度/经度数据。我需要将这两个数据集合并在一起,以便数据集1中的非常规城市名称与基于最接近的纬度/经度的常规城市名称(数据集2)相匹配。
有人能指导我如何编程解决这个问题吗?
谢谢
数据集1示例:
city state latitude longitude
Manhattan NY 42.436503 -71.608599
Long Island NY 54.266667 -6.916667
East Los Angeles CA 56.2
目前,我正在使用Matlab中的pdist函数计算三维笛卡尔系统中各点之间的欧几里德距离。我这么做是因为我想知道哪个点与所有其他点( medoid)的平均距离最小。pdist的语法如下所示:
% calculate distances between all points
distances = pdist(m);
但是,由于pdist返回一维距离数组,因此找出哪个点的平均距离(直接)是不容易的。这就是为什么我使用squareform,然后计算最小平均距离,如下所示:
% convert found distances to matrix of distances
distanceMatrix
我有一个有经度和纬度的城市,还有一个城市名称数据库,还有经纬度。因为可以有几个同名的城市,所以我想要匹配地理位置最近的城市。
举个例子,纽约的lat为40.7262,长为-73.9796。我想找到离纽约最近的城市,在数据库里有几个:
Bangor PA 40.86555560 -75.20694440
Bangor NY 44.81222220 -74.39777780
Bangor ME 44.80111110 -68.77833330
通过这个查询,我可以获得最接近的纬度:
Select * from cities
where city='bangor'
我有两张表:一张是大城市附近的气象站列表,一张是距离城市的距离,另一张是每个气象站的平均天气。我想做一个连接,比如显示离旧金山最近的气象站的天气数据。
示例表距离
select * from distances limit 3;
city | station | distance
----------+-------------+-----------
New York | USC00280721 | 62.706849
New York | USC00280729 | 91.927548
New York | USC00280734 | 91.865147
示例
我在一架飞机(一个城市)上有许多点(纬度和经度),我想要找到两个集群。簇1是散乱在一起的点,簇2是其他所有东西。
我知道这个问题的定义并不确切。唯一定义的是我需要恰好2个集群。在N个点中,有多少点最终在集群1或集群2中是未定义的。
主要目标是识别彼此非常接近的点,并将它们与其他点分开(这些点分布得更均匀)。
我能想到的最好的算法是:
1. For each point, Calculate the sum of the square distances to all other points.
2. Run the k-means with k=2 on these square distan
在网上,我看到了很多典型的字数统计地图reduce的例子。我理解k,v列表的映射器输入,以减少k,=> (V)的输入。一些魔术是通过map reduce来实现的。我不太明白如何将mapreduce应用到一个更实际的例子中。例如:假设我有一个文件,其中包含美国所有员工的工资,以及州和城市等其他详细信息。mapreduce如何提供包含以下聚合列的输出报告?州、城市、平均(工资)
在SQL中,我可以使用如下查询获得以下结果:
Select state, city, avg(salaries)
From employee_tbl
Group by state, city
map reduce将
我正试图用动态问题来解决一个问题。我很熟悉古典的TSP,但这里是一个约束的TSP,在这里有两组城市,城市的相对秩序必须被保留。这是棘手的部分。
给予,
刚起步的城市
N个城市的序列A=〈a_1,a_2,…、a_n〉
N个城市的另一个序列B=〈b_1,b_2,…、b_n〉
一个距离函数D(x,y),它接收任意一对城市并返回它们之间的最短距离。
从技术上讲,我们可以说L={s,a_1,a_2,…、a_n、b_1、…,,b_n}和D是一个函数
目标是在下列限制条件下,对所有2n+1城市进行一次最低长度的旅游,从s开始,然后以s结束:
The relative order of the cities
我希望SQL从两列中添加数字,并将这两个数字的平均值放在一个单独的列中。
我目前正在以这种方式使用AVG:
AVG(InpCount + OutCount) OVER (PARTITION BY ProcedureID) as AverageCount,
AVG(InpAmount + OutAmount) OVER (PARTITION BY ProcedureID) as AverageAmount,
我希望SQL给出一个InpCount + OutCount的平均值,并将这个平均值放在上面的AverageCount列中。如果我也能对InpAmount + InpCount字段这样做,那么
在熊猫中,我想按两栏分组,然后做一次计数。在此之后,我想删除我分组的列,并计算计数的平均值。我知道如何在sql中轻松地做到这一点,但是在Pandas中遇到了一些问题。我不能删除我以前分组的一列。有人知道如何做得好吗?
(只要关心最终结果,如果有更好的结果,程序就不必是这样的)
例:
Name, City
Anna, New York
Carl, New York
Carl, New York
Steven, London
Carl, London
Anna, Paris
Carl, Paris
Carl, Paris
按“名称”和“城市”分组,然后计数:
Name, City, Count
A