Ahm*_*man 2 csv pandas parquet
我有大的 pandas 数据框,我需要将其保存到多个(parquet/csv)文件中以减少文件的体积空间。
我可以通过将数据帧划分为多个数据帧并单独保存每个数据帧来划分它
有没有一种方法可以直接做到这一点?
这是我经常使用的一个简单函数:
def df_to_parquets(df, chunk_size=10):
"""
Saves pandas dataframe to parquet in chunks
"""
grp = df.groupby(df.index // chunk_size)
for index, (name, group) in enumerate(grp):
group.to_parquet(f'file_{index}.gzip', compression='gzip')
Run Code Online (Sandbox Code Playgroud)
df = pd.DataFrame(np.random.rand(10, 5), columns = ['col_'+str(x) for x in range(1, 6)])
df_to_parquets(df, chunk_size=2)
Run Code Online (Sandbox Code Playgroud)
这将输出 5 个不同的 parquet 文件。
| 归档时间: |
|
| 查看次数: |
2489 次 |
| 最近记录: |