我在python / pyspark中有一个带有列的数据框id
time
city
zip
,依此类推......
现在,我name
在此数据框中添加了新列。
现在,我必须安排这样的列的name
列来后id
我已经完成如下
change_cols = ['id', 'name']
cols = ([col for col in change_cols if col in df]
+ [col for col in df if col not in change_cols])
df = df[cols]
我收到此错误
pyspark.sql.utils.AnalysisException: u"Reference 'id' is ambiguous, could be: id#609, id#1224.;"
为什么会发生此错误。我该如何纠正。
您可以select
用来更改列的顺序:
df.select("id","name","time","city")
我用的是PySpark,我有一个Spark数据框架,里面有一堆数字列。我想添加一列,它是所有其他列的总和。 假设我的数据帧具有列“a”、“b”和“c”。我知道我能做到: 问题是,我不想单独键入每列并添加它们,尤其是如果我有很多列。我希望能够自动执行此操作,或者通过指定要添加的列名列表来执行此操作。有其他方法吗?
如果我使用,我的数据有3586列。如何重新排序数据序列? 我使用了这个(基于此问题,根据列名对pandas dataframe中的列重新排序),但仍不起作用。 谢谢你们
问题内容: 我正在使用PySpark,并且有一个带有一堆数字列的Spark数据框。我想添加一列,它是所有其他列的总和。 假设我的数据框具有列“ a”,“ b”和“ c”。我知道我可以这样做: 问题是我不想单独键入每列并添加它们,尤其是当我有很多列时。我希望能够自动执行此操作,或者希望通过指定要添加的列名列表来执行此操作。还有另一种方法吗? 问题答案: 这并不明显。我看不到spark Datafra
我有一个来自目标表的固定火花数据帧顺序: 目标火花数据帧(列1字符串、列2整数、列3字符串、列4双精度) 现在,如果源数据顺序混乱: 源火花数据帧(列3字符串、列2整数、列4双精度、列1字符串)。 如何使用PySpark重新排列源DataFrame以匹配目标DataFrame的列顺序? 源Spark数据帧应按如下方式重新排序,以匹配目标数据帧: 输出: 更新了源 Spark 数据帧(col1 字符
问题内容: 我正在尝试过滤具有作为行值的PySpark数据框: 我可以使用字符串值正确过滤: 但这失败了: 但是每个类别上肯定都有价值。这是怎么回事? 问题答案: 您可以使用/ : 如果你想简单地丢弃值,您可以使用与参数: 基于等式的比较将无法正常工作,因为在SQL中未定义,因此任何将其与另一个值进行比较的尝试都将返回: 与值进行比较的唯一有效方法是/ ,它等效于/方法调用。
问题内容: 我有一个像这样的简单数据框: 我需要按日期进行调整: 一切正常。但是现在我需要对其进行透视,并获得一个非数字列: 当然,我会得到一个例外: 我想产生一些东西 有可能吗? 问题答案: 假设组合是唯一的,并且您的唯一目标是枢纽而不是合计,则可以使用(或任何其他不限于数值的函数): 如果这些假设不正确,则必须预先汇总数据。例如,对于最常见的值: