我有一个 Pandas 系列,它基本上是字符串和 np.nan
的混合体。我的目标是采用 min()
和 max()
排除所有 NaN
。最好的方法是什么?
例如,使用 Pandas 内置的 .min()
不起作用:
(Pdb) x
0 NaN
1 20180101
2 20170101
Name: DATE, dtype: object
(Pdb) x.min()
*** TypeError: unorderable types: float() <= str()
(Pdb) x.min(skipna=True)
*** TypeError: unorderable types: float() <= str()
在上述情况下,我想返回 20170101
。谢谢。
最佳答案
使用 dropna
或 bool 索引删除 NaN 然后使用 min
:
s.dropna().min()
或者正如@ALollz 在评论中指出的那样
s[s.notnull()].min()
输出:
'20170101'
关于string - Pandas .min() skipna 选项不适用于混合字符串和 NaN 系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50804804/