首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在pandas数据帧中将度、分、秒(DMS)列转换为十进制度

在pandas数据帧中将度、分、秒(DMS)列转换为十进制度,可以通过以下步骤实现:

  1. 首先,确保数据帧中包含度、分、秒(DMS)列。假设这些列分别为"degrees"、"minutes"和"seconds"。
  2. 创建一个函数,用于将度、分、秒转换为十进制度。函数的输入参数为度、分、秒的值,输出为转换后的十进制度值。
  3. 在函数中,将度、分、秒的值转换为小数形式,然后将它们相加,并根据正负号确定最终的十进制度值。
  4. 使用apply函数将该函数应用到数据帧的度、分、秒列上,创建一个新的列,例如"decimal_degrees"。
  5. 最后,可以选择删除原始的度、分、秒列,如果它们不再需要。

以下是一个示例代码:

代码语言:txt
复制
import pandas as pd

# 创建示例数据帧
data = {'degrees': [45, 30, 60],
        'minutes': [30, 15, 45],
        'seconds': [0, 30, 15]}
df = pd.DataFrame(data)

# 定义转换函数
def dms_to_decimal(degrees, minutes, seconds):
    decimal_degrees = degrees + minutes/60 + seconds/3600
    return decimal_degrees

# 应用函数并创建新列
df['decimal_degrees'] = df.apply(lambda row: dms_to_decimal(row['degrees'], row['minutes'], row['seconds']), axis=1)

# 打印结果
print(df)

输出结果如下:

代码语言:txt
复制
   degrees  minutes  seconds  decimal_degrees
0       45       30        0        45.500000
1       30       15       30        30.258333
2       60       45       15        60.754167

这个示例代码演示了如何将度、分、秒(DMS)列转换为十进制度,并将结果存储在新的"decimal_degrees"列中。你可以根据实际情况修改列名和数据帧的结构。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券