从列表列表中提取列表并将其分配给python中的列

如何解决从列表列表中提取列表并将其分配给python中的列

我有一个数据集(df_norm),其列为'geometry.coordinates',其值是列表列表(l1):

<!DOCTYPE html>
<html lang="en">

<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Fibonacci</title>
    <style>
        * {
            outline: 0px;
            margin: 0px;
        }

        input[type="number"] {
            color: blue;
            border: 2px solid black;
            width: 99.58vw;
        }
    </style>
</head>

<body>
    <div id="myDiv" style="color: white;background-color: blue;">Numbers Here</div>
    <input type="number" id="input1" oninput="fibonacciProgram(this.value)" placeholder="Type Some Numbers Here">
    <script>
        function fibonacciProgram(numberCount) {
            let resultElement = document.getElementById("myDiv");
            resultElement.innerHTML = " ";
            if (isNaN(numberCount) || numberCount <= 0) {
                resultElement.innerHTML = "please enter a number";
                return;
            }
            let firstBox = 0;
            let secondBox = 1;
            let swichBox;
            let entries = [];
            entries.push(secondBox);
            while (numberCount > 1) {
                swichBox = firstBox + secondBox;
                entries.push(swichBox);
                firstBox = secondBox;
                secondBox = swichBox;
                numberCount--;
            }
            resultElement.innerHTML = entries.join(',');
        }
    </script>
</body>

</html>

我需要从每个列表中提取单个坐标,并将每个坐标分配到单独的列中,以获取类似于以下内容输出

    geometry.coordinates        
0   [[[23.514690935490876,53.946715071429367],[2...
1   [[[23.549827385369554,53.942282407709513],[2...
2   [[[23.574999999999307,53.941666666666151],[2...

我的代码是:

    longitude1              latitude1       longitude2             latitude2            ...
    23.514690935490876  53.946715071429367   23.5127605166679412   53.961345695020002
    23.549827385369554  53.942282407709513   23.6123409888603434   53.941666666666151
    ....

我得到一个错误

    def flatten_list(l1):
        flat_list = []
        for sublist in df_norm['geometry.coordinates'][0]:
            for item in sublist:
                flat_list.append(item)
        return flat_list

     for i in range(len(df_norm['geometry.coordinates'])):
         for j in df_norm['geometry.coordinates']:
             flatten_list(df_norm['geometry.coordinates'])
             var1 = flat_list[i][0]
             var2 = flat_list[i][1]
             var3 = flat_list[i][2]
             var4 = flat_list[i][3]
             var5 = flat_list[i][4]

我在做什么错了?

解决方法

您的flatten_list()函数似乎生成了所有值的单个未嵌套列表。但是,在对列表进行索引以分配变量时,您使用的是嵌套表示法flat_list[i][0]。 为了将flatten_list()产生的新列表中的值分配给相应的变量,请尝试如下更改索引:

for i in range(len(df_norm['geometry.coordinates'])):
         for j in df_norm['geometry.coordinates']:
             flatten_list(df_norm['geometry.coordinates'])
             var1 = flat_list[i]
             var2 = flat_list[i+1]
             var3 = flat_list[i+2]
             var4 = flat_list[i+3]
             var5 = flat_list[i+4]

此外,如果我正确理解了您的目标,则希望在每个变量名称下生成列表。照原样,循环将替换值,并仅保留最后的5个值(每个变量一个)。也许为循环外的每个变量生成列表并附加值将是更好的方法?最后-可能需要更改您的range()参数。否则,随着临时i变量的进行,对应于一个变量的重复值将被放置在错误的变量中。

var1 = []
var2 = []
var3 = []
var4 = []
var5 = []
for i in range(0,len(df_norm['geometry.coordinates'],5)):
         for j in df_norm['geometry.coordinates']:
             flatten_list(df_norm['geometry.coordinates'])
             var1.append(flat_list[i])
             var2.append(flat_list[i+1])
             var3.append(flat_list[i+2])
             var4.append(flat_list[i+3])
             var5.append(flat_list[i+4])
,

您得到的错误可能是因为您没有分配函数返回的值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?