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

使用pandas将字符串列转换为小数纬度和经度,跳过NaN值

可以通过以下步骤实现:

  1. 导入pandas库:
代码语言:txt
复制
import pandas as pd
  1. 创建一个包含字符串列的DataFrame:
代码语言:txt
复制
data = {'Location': ['40.7128° N', '74.0060° W', 'NaN', '37.7749° N', '122.4194° W']}
df = pd.DataFrame(data)
  1. 定义一个函数,用于将字符串转换为小数:
代码语言:txt
复制
def convert_to_decimal(coord):
    if coord != 'NaN':
        degrees, minutes, direction = coord.split('° ')
        degrees = float(degrees)
        minutes = float(minutes[:-2])
        decimal = degrees + minutes / 60
        if direction == 'S' or direction == 'W':
            decimal = -decimal
        return decimal
    else:
        return float('NaN')
  1. 应用函数到DataFrame的字符串列:
代码语言:txt
复制
df['Latitude'] = df['Location'].apply(lambda x: convert_to_decimal(x.split()[0]))
df['Longitude'] = df['Location'].apply(lambda x: convert_to_decimal(x.split()[1]))

现在,DataFrame中的字符串列已经转换为小数纬度和经度,并且跳过了NaN值。你可以通过访问df['Latitude']df['Longitude']来获取转换后的值。

注意:这里的代码示例仅用于演示目的,实际应用中可能需要根据具体情况进行调整。

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

相关·内容

没有搜到相关的沙龙

领券