当列中没有 nan 值时,为什么 pandas 中的 max() 返回 nan?

Why is max() in pandas returning nan when there's no nan value in the column?

该列的类型为 str,格式类似于 2018-10-10,并且没有 nan 值。

print(df['col'].isna().sum()) # 0
print(df['col'].max()) # nan
另一方面,

min() 显示正确的值

print(df['col'].min()) # 2018-01-01

为什么 max() 报告 nan 值?

我觉得至少有一个字符串nan,你可以测试一下:

print (df[df['col'] == 'nan'])

max python/pandas 中的函数也处理字符串和 returns 位于字母列表底部的那个,检查 this.