熊猫数据框 min(axis=1) 函数返回空

时间:2021-03-16 17:21:50

标签: python pandas dataframe

我正在尝试根据不同的列检索行的最小值,这里是 excel 文件:

The excel file used

需要有最旧的日期。

当使用 min(axis=1) 函数时,它返回空系列:

Result of running df.min(axis=1)

当我使用 max(axis=1) 时,它起作用了!!

Result for df.max(axis=1)

有什么解决办法吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

对于熊猫,空值的排名低于非空值。因此,当 Pandas 计算数组 (NaN, NaN, '12/05/2020, NaN) 的最小值时,最小值为 NaN

同样,df.max(axis=1) 返回非空系列,因为非空单元格的排名高于空单元格。

我能想到的最简单的解决方案是堆叠数据帧,按行索引分组并获取每组的最小值。此方法会自动删除每个组的空值。

df.stack().groupby(level=0).min()

答案 1 :(得分:-1)

所以找到了一种解决方法,我使用替换函数将 nan 值替换为一个遥远的未来日期 (12/12/2222) 并取了最小值。如果您有更干净的解决方案,请分享。

谢谢。

相关问题