col_1 col_2 col_3
A 5 3
B null -2
C 2 null
D null null
E 3 1
F 4 -2
col_1 col_2 col_3 diff_col
A 5 3 2
B null -2 -2
C 2 null 2
D null null 0
E 3 1 2
F 4 -2 2
您可以使用coalese[1]和lit[2],因为您只有两列。
private Column absoluteBetweenTwo(final Dataset<Row> ds) {
final Column col_1 = functions.coalesce(ds.col("col_1"), functions.lit(0));
final Column col_2 = functions.coalesce(ds.col("col_2"), functions.lit(0));
return functions.abs(col_1.minus(col_2));
}
并将其添加为列
ds.withColumn("col_3", this.absoluteBetweenTwo(ds));
另一种解决方案是将数据集
明确地包装在dataframenafunctions
[3]中,并使用fill
,否则Java API不能接受。
return new DataFrameNaFunctions(ds).fill(0L);
我只是想知道Apache Spark中的和之间有什么区别(Spark 2.0.0 DataFrame只是)的类型别名? 你能把一个转换成另一个吗?
我有一个数据帧(df),如下所示(仅为示例),可能有10个或更多数据帧: 我想计算数据框中b列值的变化百分比。但是有一个例外,当日期是'2010-01-09'(只是一个例子),并计算b'2010-01-09'的变化百分比,b在'2010-01-08'中的值应该是10倍,就这一次,其他日期应该使用原始值,我的意思是没有10倍。一般来说,我通过以下代码计算变化百分比: 但是当日期是:'2010-01-
我有一个熊猫数据框,它有超过4列。col1中的某些值缺失,我希望根据以下方法设置这些缺失的值: 尝试根据具有相同col2, col3, col4值的记录的col1值的平均值来设置它 如果没有这样的记录,则根据具有相同col2, col3值的记录的col1值的平均值来设置它 如果仍然没有这样的记录,则根据具有相同col2值的记录的col1值的平均值来设置它 如果以上都找不到,将其设置为col1中所有
我正在寻找一种方法,以找到不同的值,在两个数据帧的列。例如: 数据表A: 但是,有没有一个简单的解决方案,可以只使用DataFrame操作来获得,也许除了最后的Collect?
但我如何也摆脱这些假想呢?
我有这样的Excel数据: 我想在ColumnA中找到Columnb中不存在的记录。