如何将数据帧的2列组合到另一列中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将数据帧的2列组合到另一列中相关的知识,希望对你有一定的参考价值。

我有一个数据框,其中包含索引中的位置名称和2列,纬度和经度。

           LATITUDE LONGITUDE
SITE        
LE0039  59.522583   29.566056

LE0073  59.287991   31.369472

LE0142  59.350241   32.531339

LE0278  59.964750   29.195850

.....
.....

我需要计算从一个站点到另一个站点的最小距离,并将其存储在每个站点的第三列中。我想用scipy.spatial.distance.pdist()来计算距离矩阵,但为了做到这一点,我首先需要一个带有(LATITUDE,LONGITUDE)的新列,以便将它传递给pdist()。

所以我有2个问题。一个是如何将lat和long组合成一个(lat,long)数组,另一个是如果你认为有更好的方法来计算最小距离

谢谢

答案

使用list + zip的旧组合。 zip创建配对对象,列表创建列表,以便将其分配给数据帧

df['combined'] = list(zip(df.LATITUDE, df.LONGITUDE))

输出:

LE0039  59.522583   29.566056   (59.522583, 29.566056)
LE0073  59.287991   31.369472   (59.287991000000005, 31.369472)
LE0142  59.350241   32.531339   (59.350241000000004, 32.531339)
LE0278  59.964750   29.195850   (59.96475, 29.19585)

旁注:我对十进制扩展非常感兴趣,不知道为什么会有000005

关于距离,numpyscipy应该有很多选项,比我熟悉的方式更多,所以你应该在google上快速搜索后找到许多好的选择:)我通常坚持使用pdist()

以上是关于如何将数据帧的2列组合到另一列中的主要内容,如果未能解决你的问题,请参考以下文章

如何将一列的列值组合到 MySQL 中的另一列中?

如何在同一个表中将数据从一列复制到另一列?

SQL - 将一列复制到另一列

如何在 OpenOffice 中将一列单元格从一张表插入到另一张表的单个单元格中?

如何在熊猫数据框中的所有列中搜索模式,并在找到时将其复制到另一列

需要帮助将数据从一列移动到另一列