我想从 Dataframe 中选择列,
但是,我希望从配置文件中获取名称和别名,并使其保持可变。
conf
"data":
{
"a":"a",
"b":"great",
"c":"example"
}
现在,我可以按如下方式选择列:
from pyspark import functions as F
df= df.select
(
F.col("a").alias("a"),
F.col("b").alias("great"),
F.col("c").alias("example)
)
但我更愿意在一个循环中做。就像
For all data.items(), do df=df.select(F.col(item[0]).alias(item[1]))
但是我不能理解它(也许我应该早点睡觉)谢谢
2条答案
按热度按时间3vpjnl9f1#
您可以使用
df.select([F.col(k).alias(v) for k, v in data.items()])
。完整示例:
kwvwclae2#
您可以对dict项进行列表解析。
下面是一个示例