这个需求感觉比较常见,例如我想对一个比较大的df做多线程,把处理时间从23小时降为1小时,需要把这个dataframe平均分割成20份喂到每个线程中,但在网上搜索了下没有找到合适的代码,故记录下来。
import math
import pandas as pd
from tqdm import tqdmdef cut_df(file_name, n):df = pd.read_csv(file_name)df_num = len(df)every_epoch_num = nath.floor((df_num/n))for index in tqdm(range(n)):file_name = f'./XXX_{index}.csv'if index < n-1:df_tem = df[every_epoch_num * index: every_epoch_num * (index + 1)]else:df_tem = df[every_epoch_num * index:]_csv(file_name, index=False)
本文发布于:2024-01-29 12:30:07,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170650260915296.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |