ser*_*ach 12 python numpy pandas
我想是的
data[data.agefm.isnull()]
Run Code Online (Sandbox Code Playgroud)
和
data[data.agefm == numpy.nan]
Run Code Online (Sandbox Code Playgroud)
是等价的.但不,第一个真正返回agefm为NaN的行,但第二个返回一个空的DataFrame.我感谢省略的值总是等于np.nan,但似乎错了.
agefm列有float64类型:
(Pdb) data.agefm.describe()
count 2079.000000
mean 20.686388
std 5.002383
min 10.000000
25% 17.000000
50% 20.000000
75% 23.000000
max 46.000000
Name: agefm, dtype: float64
Run Code Online (Sandbox Code Playgroud)
你能解释一下,具体data[data.agefm == np.nan]意味着什么?
piR*_*red 16
np.nan不能np.nan直接与...... 相比.
np.nan == np.nan
False
Run Code Online (Sandbox Code Playgroud)
而
np.isnan(np.nan)
True
Run Code Online (Sandbox Code Playgroud)
也可以
pd.isnull(np.nan)
True
Run Code Online (Sandbox Code Playgroud)
示例不
过滤,因为没有任何东西等于np.nan
s = pd.Series([1., np.nan, 2.])
s[s != np.nan]
0 1.0
1 NaN
2 2.0
dtype: float64
Run Code Online (Sandbox Code Playgroud)
过滤掉null
s = pd.Series([1., np.nan, 2.])
s[s.notnull()]
0 1.0
2 2.0
dtype: float64
Run Code Online (Sandbox Code Playgroud)
使用奇怪的比较行为来获得我们想要的东西.如果np.nan != np.nan是的True话
s = pd.Series([1., np.nan, 2.])
s[s == s]
0 1.0
2 2.0
dtype: float64
Run Code Online (Sandbox Code Playgroud)
只是 dropna
s = pd.Series([1., np.nan, 2.])
s.dropna()
0 1.0
2 2.0
dtype: float64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11785 次 |
| 最近记录: |