看起来 Pandas 不会将 Pandas timedelta转换为 Parquet INTERVAL:
>>> import pandas as pd
>>> df = pd.DataFrame([{'seconds': 30}])
>>> df.to_parquet('/tmp/test.parquet') # so far so good
>>> df['duration'] = pd.to_timedelta(df.seconds, unit='seconds')
>>> df.to_parquet('/tmp/test.parquet')
Traceback (most recent call last):
/ ... /
pyarrow.lib.ArrowNotImplementedError: Unhandled type for Arrow to Parquet schema conversion: duration[ns]
>>>
这只是一个缺失的功能吗?timedelta
期望被保存为我错了INTERVAL
吗?如果我的数据帧非常大(500mb),你会推荐哪种格式,但我会把它读回给 Pandas - .to_pickle()
?