值错误:数组太大

2024-05-21 04:18:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用以下代码合并两个excel文件,但遇到了ValueError: array is too big; arr.size * arr.dtype.itemsize is larger than the maximum possible size.错误

import pandas as pd

file1 = pd.read_excel("file1.xlsx")
file2 = pd.read_excel("file2.xlsx")

file3 = file1.merge(file2, on="Input E-mail", how="outer")

file3.to_excel("merged1.xlsx")

文件大小为~100MB+~100MB,可用Ram为9GB(共16GB)


Tags: 文件代码readsizeisxlsxexcelarray
1条回答
网友
1楼 · 发布于 2024-05-21 04:18:22

生成的数据帧可以比两个输入的数据帧大得多。简单示例:

import pandas as pd

values = pd.DataFrame({"id": [1,1,1,1], "value": ["a", "b", "c", "d"]})

users = pd.DataFrame({"id": [1,1,1], "users": ["Amy", "Bob", "Dan"]})

big_table = pd.merge(users, values, how="outer")

print big_table

结果:

     id  users    value
0     1   Amy       a
1     1   Amy       b
2     1   Amy       c
3     1   Amy       d
4     1   Bob       a
5     1   Bob       b
6     1   Bob       c
7     1   Bob       d
8     1   Dan       a
9     1   Dan       b
10    1   Dan       c
11    1   Dan       d

相关问题 更多 >