gpt4 book ai didi

替换大型 Pandas 数据框中的 NaN 值时遇到 Python 内存错误

转载 作者:行者123 更新时间:2023-11-30 22:36:08 25 4
gpt4 key购买 nike

我有一个非常大的 pandas 数据框:约 300,000 列和约 17,520 行。 pandas 数据帧称为 result_full。我正在尝试将所有字符串 "NaN" 替换为 numpy.nan:

result_full.replace(["NaN"], np.nan, inplace = True)

这是我得到MemoryError的地方是否有一种内存有效的方法可以将这些字符串放入我的数据框中?我尝试了 result_full.dropna() 但它不起作用,因为从技术上讲它们是“NaN”的字符串

最佳答案

其中一个问题可能是由于使用 32 位机器造成的,因为它一次最多可以处理 2GB 的数据。如果可能,请扩展到 64 位计算机以避免将来出现问题。

与此同时,这可能会受到黑客攻击。使用 df.to_csv() 选项将数据帧转换为 CSV。完成后,如果您查看 pandas documentation of read_csv 中的 df.read_csv() 文档, ,你应该注意到这个参数

na_values : scalar, str, list-like, or dict, default None

Additional strings to recognize as NA/NaN. If dict passed, specific per-column NA values. By default the following values are interpreted as NaN: ‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘nan’`.

因此,它会将字符串“NaN”识别为 np.nan 并且您的问题将得到解决。

同时,如果您通过 CSV 直接创建此 Dataframe,则可以使用此参数来避免内存问题。希望能帮助到你。干杯!

关于替换大型 Pandas 数据框中的 NaN 值时遇到 Python 内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44299013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com