由于我的pandas数据帧的一列有nan
值,所以当我想获得该列的最大值时,它只返回错误。
>>> df.iloc[:, 1].max()
'error:512'
如何跳过nan
值并获取该列的最大值?
你可以使用Series.dropna。
res = df.iloc[:, 1].dropna().max()
当df包含NaN
值时,它会报告NaN
值,使用np.nanmax(df.values)
给出了所需的答案。
Dataframe聚合函数.agg()
将自动忽略NaN值。 df.agg({'income':'max'})
此外,它也可以与.groupby
一起使用
df.groupby('column').agg({'income':['max','mean']})
如果你不使用iloc或loc,它很简单:
df['column'].max()
要么
df['column'][df.index.min():df.index.max()]
或者在第二个方括号中的任何范围