csv 每个数据点的Map纬度和经度

8wtpewkr  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(108)

我有30个站的大量时间序列数据,我需要将纬度和经度Map到每个数据点,这样我就可以在Map上绘制它。纬度和经度数据位于另一个.csv文件中,需要根据站点ID对其进行Map。我知道我可以写一个很长的for循环,但我希望找到一个更有效的wat来在其他.csv中查找它,并为每个数据点填充它。
以下是数据的总结,只有3个站的几个小时的数据:

date    precip_mm   temp_C  ID
11/2/2006 11:00 47.7    3.8 301
11/2/2006 12:00 47.7    4.4 301
11/2/2006 13:00 48.9    4.4 301
11/2/2006 14:00 50.2    3.8 301
11/2/2006 15:00 50.2    2.9 301
11/2/2006 16:00 50.2    2.7 301
11/2/2006 17:00 50.2    2.8 301
11/2/2006 18:00 50.2    2.6 301
11/2/2006 19:00 50.2    2.5 301
11/2/2006 11:00 50.2    2.2 321
11/2/2006 12:00 50.2    1.7 321
11/2/2006 13:00 50.2    1.5 321
11/2/2006 14:00 50.2    1.2 321
11/2/2006 15:00 50.2    1.1 321
11/2/2006 16:00 50.2    1.3 321
11/2/2006 17:00 50.2    1.3 321
11/2/2006 18:00 50.2    1.3 321
11/2/2006 19:00 50.2    1.2 321
11/2/2006 11:00 50.2    1.4 391
11/2/2006 12:00 50.2    1.2 391
11/2/2006 13:00 50.2    1.1 391
11/2/2006 14:00 50.2    1.1 391
11/2/2006 15:00 50.2    1.6 391
11/2/2006 16:00 50.2    2.1 391
11/2/2006 17:00 50.2    2.7 391
11/2/2006 18:00 51.4    2.1 391
11/2/2006 19:00 51.4    0.9 391

字符串
下面是元数据:

Name       ID            Latitude   Longitude
Adin Mtn    "301    "   41.23583    -120.79192
Bear Creek  "321    "   41.83384    -115.45278
Cedar Pass  "391    "   41.58233    -120.3025


我试着用下面的代码来Map,我看到的所有论坛都是用melt或merge将一个项目与一个项目匹配,但我需要填写很多年的数据。当我运行这个类似的代码时,列中填充了nan,并且没有给予我一个错误。救命啊!
第一个月

cxfofazt

cxfofazt1#

最有可能的原因是,你得到NaN的是因为ID是作为一个字符串存储在你的元数据,但作为一个整数在你的时间序列数据。您需要将该列转换为适当的数值列,以便合并正确匹配。

meta['ID'] = meta['ID'].astype('int')
df.merge(meta, on = 'ID')

字符串

相关问题