遍历pyspark中的数据帧

Logic_Problem_42

我需要以下简单代码段(pyspark)的帮助:

def ann(table):
    table=table.withColumn('stand', lit('29Jan2020'))
for table in [akt_test, b60_test, db71_test, pek6_test, db00f_test, d23b_test, bw0110_test]:
    ann(table)

因此,我仅尝试将列“ stand”添加到列表中的所有(已经存在的)数据帧中。不幸的是,没有添加该列。奇怪的是,如果我在函数“ ann”的末尾添加命令“ print(table.columns)”,则会在此处看到新列。但不在实际数据帧中。

如果我只是拿一个数据帧并写

 akt_test=akt_test.withColumn('stand', lit('29Jan2020'))

一切正常。但是不是一个循环。我不明白为什么以及如何可以治愈它。预先感谢您的想法。

麦克

该函数必须返回修改后的数据帧。在您的函数中,仅table修改变量的副本,而不修改原始的dataframe变量。

另外,您需要将该函数应用于列表元素(例如,使用下面的列表理解)。如果将其放在for循环中,则列表元素将不会就地修改。仅列表元素的副本将被修改,然后在循环的下一次迭代中将其丢弃。例如,请参见此问题

因此,要使代码正常工作,可以执行以下操作:

def ann(table):
    return table.withColumn('stand', lit('29Jan2020'))

df_list = [akt_test, b60_test, db71_test, pek6_test, db00f_test, d23b_test, bw0110_test]

df_list2 = [ann(df) for df in df_list]

如果要保留原始变量的值,可以执行

akt_test, b60_test, db71_test, pek6_test, db00f_test, d23b_test, bw0110_test = [ann(df) for df in df_list]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在数据帧区中循环遍历数据帧

来自分类Dev

遍历功能列表中的数据帧

来自分类Dev

R:遍历向量中的数据帧列表

来自分类Dev

计算pyspark数据帧中的速率

来自分类Dev

删除pyspark数据帧中的空格

来自分类Dev

如何从 PySpark 中的 RDD 创建数据帧?

来自分类Dev

pyspark中数据帧的稀疏向量

来自分类Dev

Pyspark 数据帧中的 Timedelta - TypeError

来自分类Dev

从 PySpark 数据帧中创建嵌套的 JSON

来自分类Dev

遍历给定的数据帧

来自分类Dev

Pyspark 忽略 pyspark-sql-functions 中数据帧的过滤

来自分类Dev

遍历t.test中r中的数据帧子集

来自分类Dev

遍历t.test中r中的数据帧子集

来自分类Dev

遍历R中的数据帧并保留R中的特定行

来自分类Dev

在R中循环遍历数据帧长度的正确方法

来自分类Dev

遍历R中的一组数据帧

来自分类Dev

遍历数据帧中的行并应用功能

来自分类Dev

如何循环遍历数据帧中的列对

来自分类Dev

如何遍历数据帧列表以在R中设置列名?

来自分类Dev

通配符在pyspark数据帧中不起作用

来自分类Dev

从pyspark保存数据帧时在Ignite表中创建索引

来自分类Dev

如何在pyspark数据帧中创建嵌套字典

来自分类Dev

在pySpark中按条件拆分数据帧

来自分类Dev

如何对Pyspark数据帧中的密钥组执行SCAN操作

来自分类Dev

如何比较PySpark中两个数据帧的计数?

来自分类Dev

如何根据pyspark数据帧中的条件转换日期格式?

来自分类Dev

如何从Pyspark中的spark数据帧创建边缘列表?

来自分类Dev

通配符在pyspark数据帧中不起作用

来自分类Dev

pyspark python数据帧在不同功能中的重用