【问题标题】:Convert DataFrame to multidimensional array following a format按照格式将 DataFrame 转换为多维数组
【发布时间】:2021-02-26 01:18:29
【问题描述】:

我想从超过 60,000 行的数据框中创建一个多维数组。

数据框:

latitude_1  longitude_1  latitude_2  longitude_2
40.781855   -73.877439   43.689741   -79.581691
40.780243   -73.874084   27.959553   -82.542491
40.781982   -73.878113   33.649540   -84.401093
​

我想用这种格式创建一个数组(使用 Python): [ [[lat1,lon1],[lat2,lon2]], [[lat1,lon1],[lat2,lon2]], [[lat1, lon1],[lat2,lon2]]]

有没有办法做到这一点?我尝试并搜索但找不到可以将一行分成两个数组或类似的东西。

任何帮助将不胜感激!

【问题讨论】:

    标签: arrays python-3.x pandas numpy dataframe


    【解决方案1】:

    可以在这里使用正常的for循环,但如果行数非常大,它会变得非常慢。

    new_list = []
    for i in range(len(df1)):
        new_list.append([[df1["latitude_1"][i],df1["longitude_1"][i]],[df1["latitude_2"][i],df1["longitude_2"][i]]])
    

    这将比使用 for 循环更快

    new_list = df.values.ravel()
    new_list.reshape(len(df),2,2)
    
    

    【讨论】:

    • @Sanya 如果数据框非常大,您可以使用我编辑并添加的重塑功能:-)
    猜你喜欢
    • 1970-01-01
    • 2019-07-22
    • 1970-01-01
    • 2018-05-22
    • 2022-07-22
    • 2023-03-26
    • 2019-06-29
    相关资源
    最近更新 更多