我有一个嵌套的Python字典形式的数据,我想将其序列化:
{
top_value: [
{
"probabilities": prob_array,
"metrics": {
"metric_a": a_array,
"metric_b": b_array,
"metric_c": c_array
}
}
]
}
其中所有*_array
个变量都是Numpyarray.
由于Numpy数组有点大(超过top_value
0项),有top_value
个键和值,我觉得JSON不适合这项工作,所以我想使用ApacheFeather,即使numpy.savez
和h5py
在技术上可以处理这一点.Does PyArrow and Apache Feather actually support this level of nesting?
要序列化ApacheFeather,我需要在序列化之前将数据转换为pyarrow.Table
.我该怎么做呢?PyArrow能从数据中自动推断出这个模式吗?如果不是,我该如何定义它?我try 了一些类似的方法:
schema = pa.schema(
[
pa.field("lambda_diversity_const", pa.struct(
[
pa.field("probabilities", pa.float64()),
pa.map_(pa.string(), pa.float64())
]
))
]
)
但得到了错误:
TypeError: Cannot convert pyarrow.lib.MapType to pyarrow.lib.Field
因此,我对嵌套的定义一定是错误的.