import pandas
import utm
df = pd.read_csv("0006.csv")


这是导入的csv文件的输出

       Description     PositionDateTime          X           Y       Z  \
0           DT0006  2018-01-01 00:00:08  668471.51  7473216.92   43.60
1           DT0006  2018-01-01 00:00:09  668471.51  7473216.90   43.62
2           DT0006  2018-01-01 00:00:39  668471.63  7473216.49   44.00
3           DT0006  2018-01-01 00:01:02  668471.66  7473216.41   44.07
4           DT0006  2018-01-01 00:01:14  668471.66  7473216.39   44.09
5           DT0006  2018-01-01 00:01:48  668471.67  7473216.37   44.11
6           DT0006  2018-01-01 00:01:54  668471.67  7473216.37   44.11
7           DT0006  2018-01-01 00:02:36  668471.67  7473216.37   44.11
8           DT0006  2018-01-01 00:02:39  668471.67  7473216.37   44.11
9           DT0006  2018-01-01 00:03:18  668451.81  7473220.04   52.36


假设区域为45K,我想使用utm将X,Y转换为纬度和经度。
到目前为止,我知道如何转换

utm.to_latlon(???, ???, ??, '?')


如何将经纬度的每个数字转换为单独的列?

我所做的就是这个

df['lat'], df['long'] = utm.to_latlon(df.X, df.Y, 45, 'K')


这是错误的,仍在寻找该怎么做。

非常感谢

最佳答案

只需apply()merge()

def rule(row):
    lat, lon = utm.to_latlon(row["X"], row["Y"], 45, 'K')
    return pd.Series({"lat": lat, "long": long})
df.merge(df.apply(rule, axis=1), left_index= True, right_index= True)

关于python - 使用 Pandas 在CSV中将utm转换为lat long,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49890492/

10-12 17:56
查看更多