在 Pandas 中创建 NaN 值(而不是 Numpy)

zad*_*zny 2 python pandas

我正在将 .ods 电子表格转换为 Pandas DataFrame。我想删除整个列和行,因为它们只包含“无”。由于“无”是一个str,我有:

pandas.DataFrame.replace("None", numpy.nan)

...我称之为: .dropna(how='all')

pandas等价于numpy.nan吗?

有没有办法使用.dropna()*string "None" 而不是NaN

ev-*_*-br 6

float('nan')如果你真的想避免从 numpy 命名空间导入东西,你可以使用:

>>> import pandas as pd
>>> s = pd.Series([1, 2, 3])
>>> s[1] = float('nan')
>>> s
0    1.0
1    NaN
2    3.0
dtype: float64
>>> 
>>> s.dropna()
0    1.0
2    3.0
dtype: float64
Run Code Online (Sandbox Code Playgroud)

此外,如果您有一个字符串值“None”,您可以.replace("None", float("nan"))

>>> s[1] = "None"
>>> s
0       1
1    None
2       3
dtype: object
>>> 
>>> s.replace("None", float("nan"))
0    1.0
1    NaN
2    3.0
dtype: float64
Run Code Online (Sandbox Code Playgroud)