NumPy是一个非常有用的库,从使用它我发现它能够轻松处理相当大(10000 x 10000)的矩阵,但开始与更大的任何东西挣扎(试图创建一个50000 x 50000的矩阵)失败).显然,这是因为大量的内存需求.
有没有办法在某种程度上在NumPy中创建巨大的矩阵(比如100万乘100万)(没有几TB的RAM)?
我正在尝试两行不同的代码,它们都涉及计算 df 与 500k 行的行的组合。
我认为在大量的组合中,内核不断死亡。有办法解决这个问题吗?
崩溃的两行代码是
pd.merge(df.assign(key=0), df.assign(key=0), on='key').drop('key', axis=1)
Run Code Online (Sandbox Code Playgroud)
和
index_comb = list(combinations(df.index, 2))
Run Code Online (Sandbox Code Playgroud)
两者都是实现相同所需 df 的不同方法,但 kernal 都失败了。
将不胜感激任何帮助:/
更新:我尝试在终端中使用代码,它给了我一个错误:killed 9:它在终端中也使用了太多内存?