java - 如何在java中更新数据框的所有列
问题描述
在scala中,我们可以在下面的帮助下更新数据框的所有列
val outputDF = InputDF.select(InputDF.columns.map(c => toLower(col(c))):_*)
如何以不可变的方式处理 Java 中的上述场景?
解决方案
这将是相同的:
inputDF.select(Arrays.stream(inputDF.columns()).map(c ->lower(col(c))).toArray(Column[]::new));
您也可以使用循环来执行此操作:
Dataset outputDF = inputDF;
for (String c : inputDF.columns()){
outputDF = outputDF.withColumn(c, lower(col(c)));
}
推荐阅读
- azure - 如何为特定的 windowStartTime 运行管道
- c# - c# 查找列表中最接近的两个数字,其中包含两个数字参数的两列
- elasticsearch - 在尊重 ACL 的同时使用 janusgraph 进行搜索
- user-interface - 更改组合框中的字符串选项
- angularjs - Angularjs 应用程序无法在 chromedriver 75 及更高版本启动的 chrome 76 上正确加载 UI
- excel - SSIS 不会为动态 xlsx 文件名执行 foreach 循环
- react-native - 运行 Xcode iOS 模拟器时出现 Expo 错误:模拟器中没有可用的 iPhone 设备
- java - 更改android应用程序自适应drawable?
- javascript - 如何将数据从 Vue.js 传递到 Blade 视图?
- vim - vi/vim remap 或 unmap 内置命令 - 可视模式下的 u 键