【发布时间】:2021-03-27 23:51:30
【问题描述】:
假设一个for循环应该总是maintain order通过迭代;但是,我在 python 中运行了一个 for 循环,它应该迭代一个包含 276 个元素(文本字符串)的列表,直到元素 139,结果与初始列表的顺序相同,但它们显然是随机排序。
有人知道为什么会这样吗?
编辑:
要循环的原始列表是使用以下代码从 pyspark 数据帧中获得的:
final_list = list(
df_redacted.select('id').toPandas()['id'])
for循环如下:(大部分导入都与我在循环内运行的函数有关)
from pyspark.sql import *
from pyspark.sql.functions import *
import time
from pyspark.sql.types import *
from IPython.display import display
import numpy as np
import pandas as pd
from pandas.tseries.frequencies import to_offset
from datetime import timedelta
results = []
for x in final_list:
aux = df_complete.filter("id = '%s'" % x)
final= function(aux,"value")
results.append(final)
result
【问题讨论】:
-
你能提供例子吗
-
除非您分享相关代码,否则我们无法为您提供帮助
-
您构建列表的方式可能有问题。因此,请尝试构建一个包含问题的完整示例(尽可能简单),如果这不能让您自己发现解决方案,请编辑您的问题并添加代码。跨度>
-
@Mureinik 我觉得现在够了吗?
-
我不知道 pyspark,但 SELECT 查询的结果通常原则上没有顺序。所以结果可能会以半随机的顺序进入列表。
标签: python pandas for-loop pyspark iteration