string - Pandas .min() skipna 选项不适用于混合字符串和 NaN 系列

标签 string pandas max nan min

我有一个 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/

相关文章:

python-3.x - 找不到 Pandas 模块,Windows Server 2012

sql - 获取 Hive 中某一行的最大值的列

mysql - 存储在 varchar 字段中的整数值,在排序时给出不同的结果

c++ - VS2015无法从 'initializer list'转换为 'std::string'错误

python - 计算每个值在 pandas 列中出现的次数

ios - 如何在 iOS 中将字符串的一部分设为粗体?

python - 如何显示多行而不是一行?

macos - 每个进程的最大打开文件数

java - 在Java中生成字母数字随机字符串

string - Scala 中 String.format 的缩写