对于具有4列坐标(经度、晶格度)的数据帧,我想创建第5列,其中每列的两个位置之间都有距离,如下所示:
dict = [{'x1': '1','y1': '1','x2': '3','y2': '2'},
{'x1': '1','y1': '1','x2': '3','y2': '2'}]
data = pd.DataFrame(dict)
因此,我希望:
dict1 = [{'x1': '1','y1': '1','x2': '3','y2': '2','distance': '2.6'},
{'x1': '1','y1': '1','x2': '3','y2': '2','distance': '2.9'}]
data2 = pd.DataFrame(dict)
其中,距离是使用“从地质Y.distance导入大圆”计算的:
这就是我所尝试的:
数据['distance']=数据['x1','y1','x2','y2']]。应用(λx1,y1,x2,y2:大圆(x1,y1,x2,y2)。英里,轴=1)
但这给了我一个类型错误:
TypeError:()缺少3个必需的位置参数:“y1”、“x2”和“y2”
感谢您的帮助
这是因为lambda函数只能查看操作数
data[['x1','y1','x2','y2']]
,因此应按如下所示对其进行修改。希望这有帮助相关问题 更多 >
编程相关推荐