可以通过以下步骤实现:
import pandas as pd
data = {'Location': ['40.7128° N', '74.0060° W', 'NaN', '37.7749° N', '122.4194° W']}
df = pd.DataFrame(data)
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')
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']
来获取转换后的值。
注意:这里的代码示例仅用于演示目的,实际应用中可能需要根据具体情况进行调整。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云