微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

拆分成块后缺少行

如何解决拆分成块后缺少行

我正在尝试将数据帧拆分为 2000 行的块,我找到了这段代码,顺便说一句,我是 python 新手,它运行良好,但是最后一个数据帧 它创建并导出到 excel,它全都是乱码,我的意思是从第一个块到最后一个之前的一个块,它按字母顺序排列,除了最后一个我发现所有乞讨字母的地方,但它变得更糟.. . 我丢失了一些记录,我用这些块的来源数据框验证了这一点,但是在它被分割后丢失了

max_rows = 2000
dataframes = []
while len(df_count) > max_rows:
    top = df_count[:max_rows]
    dataframes.append(top)
    df_count = df_count[max_rows:]
    n=0
else:
    dataframes.append(df)

with pd.ExcelWriter(output_path + "\\" + "Emails_" + date + ".xlsx") as writer:
    for _,frame in enumerate(dataframes):
        frame = frame["Email"]
        frame.to_excel(writer,sheet_name="DB" + str(_+1),index=False)

解决方法

我完全没有在 else 上看到数据框名称:

max_rows = 2000
dataframes = []
while len(df_count) > max_rows:
    top = df_count[:max_rows]
    dataframes.append(top)
    df_count = df_count[max_rows:]
    n=0
else:
    dataframes.append(df_count)

with pd.ExcelWriter(output_path + "\\" + "Emails_" + date + ".xlsx") as writer:
    for _,frame in enumerate(dataframes):
        frame = frame["Email"]
        frame.to_excel(writer,sheet_name="DB" + str(_+1),index=False)
,

使用 iloc 拆分数据框:

df = pd.DataFrame(np.arange(10**6+10).reshape(int(10**6/2)+5,2),columns=list('AB'))

df.shape # (500005,2)

df_list = list()
max_row = 2000
for i in range(0,len(df),2000):
    df_list.append(df.iloc[i: i + max_row])

len(df_list) # 251

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。