python - 更有效的 pandas python 命令删除 Nan 行?

标签 python pandas nan

我有一个名为 TI 的 DF。我想删除 BookDate 为 NaN 的行。所以我跑:

TI = TI.dropna(subset=['#Book_Date'])

当我运行它时,由于某种原因内存被耗尽(我在一台 100GB RAM 的机器上,大约 50% 的 RAM 用于保存 TI,当我运行那条 dropna 行时,它转到100% 使用率并且从未完成命令的执行)。它正在制作一个全新的副本吗? TI是一个6400万行的dataframe,所以需要更高效。

最佳答案

到目前为止,最好的方法是通过使用列必须是有限的来做到这一点。为此你需要 numpy。

from pandas import *
import numpy

TI = TI[np.isfinite(TI['#Book_Date'])]

关于python - 更有效的 pandas python 命令删除 Nan 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26719315/

相关文章:

python - 将RGB channel 和单 channel 的cv2帧堆叠在一起

python - 加速python的请求函数

python - 当 x 轴包含重复项时,altair/vega-lite 中的 mark_line 会对数据重新排序

python - Pandas 根据时间条件连接两个表

python - 如何计算 Pandas 数据框上的连续有序值

javascript - 虚假? && 运算符如何使 0 返回 0 而不是 NaN?

python - torchvision.io 在 __init.py__ 中找不到引用 read_image()

python - 如何在 matplotlib 中向水平条形图添加标签?

java - 如何在数字数组中表示 NaN?

python - 如果 B 列为 NaN,则收集 pandas 数据框 A 列的值(Python)