pandas 使用np.nan而不导入numpy

lndjwyie  于 12个月前  发布在  其他
关注(0)|答案(3)|浏览(112)

我习惯用NaN替换空字符串,并删除空数据。

import pandas as pd
import numpy as np

df.replace('', np.nan).dropna()

字符串
然而,我希望我的函数使用无服务器框架运行。我需要import numpy来使用np.nan,这消耗了我宝贵的250MB包大小限制。
pandas pd.np.nan工作正常,但有警告称pandas.np模块已被弃用,并将从pandas的未来版本中删除。
有没有解决方案可以在不导入numpy的情况下使用np.nan

bihw5rsg

bihw5rsg1#

也许你可以用math来逃避:

import math

math.nan
# nan

字符串
或者甚至不导入任何内容:

float('nan')
# nan


这些与NumPy的nan兼容:

import numpy as np

np.isnan(math.nan)
# True

np.isnan(float('nan'))
# True

ttvkxqim

ttvkxqim2#

使用pd.NA代替。
来自于:
从pandas 1.0开始,实验性的pd.NA值(singleton)可用于表示标量缺失值。目前,它用于可空整数,布尔和专用字符串数据类型中作为缺失值指示符。pd.NA的目标是提供一个可以在不同数据类型中一致使用的“缺失”指示符(而不是np.nanNonepd.NaT,具体取决于数据类型)。

sirbozc5

sirbozc53#

也许我忽略了一些明显的东西,但是df.replace('', None).dropna()应该可以工作,对吗?

相关问题