pandas - Spark Dataframe 的多个 numpy 数组(索引、数据)最快的方法
问题描述
我想直接从多个数据和时间戳索引 Numpy 数组(时间序列数据)创建一个Spark Dataframe
我有一个包含所有数据数组的所有唯一索引的主数组。Spark Dataframe 中的示例数据类型为 double、long、int 或 string。
每个数据数组都应该是 Spark Dataframe 中的一个新列。
示例数据:
idx1: [2.00e-01, 3.00e-01, 4.00e-01, ... 5.00e+03, 6.00e+03]
data1: [ 0, 10, 15, ... 65535, 65535, 65535]
...
idx2: [8.70e-01, 5.70e+02, ... 9.90e+02, 1.07+03 1.12e+03]
data2: [19282, 19282, 19282, ... 19284, 19285, 19286]
masterIndex: [2.00e-01, 3.00e-01, 4.00e-01, 8.70e-01, 5.70e+02, ...]
目标火花数据框(自动填充 NaN):
| masterIdx| data1 |data(N)| ... |
| 0.2 | 0 | NaN | ... |
| ... | .. | .. | ... |
| 0.87 | NaN | 19282 | ... |
在我目前的方法中,我执行以下步骤:
- 创建以 masterIndex 为索引的空 Panda Dataframe
- Numpy 数组索引和样本作为熊猫系列
- 将熊猫系列合并为熊猫数据框上的列->
df[name] = pdSeries
- 将 Panda Dataframe 转换为 Spark Dataframe 并启用 Pyarrow 和数据类型的 Schema
如何有效地将多个 numpy 数据数组作为列(带有索引数组)添加/合并到 Spark Dataframe?我想直接将数据写入 Spark Dataframe。
目标是在创建 Spark Dataframe 时获得最佳性能。
谢谢您的意见!
解决方案
推荐阅读
- xamarin - 带有略微凸起的中央按钮的 Xamarin Forms 导航栏
- discord.py - 即使我希望机器人为一个人发送它,捐赠命令也会为所有流媒体发送相同的图片 | 不和谐.py
- php - 为什么我会收到“加载 Web 调试工具栏时出错”。何时使用此事件订阅者?
- xcode - 如何生成丢失的“可选”dSYM 文件
- c++ - 如果参数是 T&& 类型,它是通过移动还是通过引用传递的?
- javascript - INPUT 表单的少数字段不允许输入数据
- google-sheets - Google 表格数据透视表 - 显示介于两者之间的日期
- google-cloud-platform - 进行预览时出现 Bigquery API 限制超出错误
- pandas - 根据出现频率过滤熊猫列
- c++ - 使用预处理器模拟非虚拟方法