如何简化这段获取AAPL股票最高最低收盘价及对应日期的pandas代码?
代码简化方案
你可以直接使用Pandas内置的idxmin()、idxmax()方法直接获取最小/最大收盘价对应的行索引,省去先计算极值再筛选数据的冗余步骤。
两种写法和你原代码逻辑完全一致,出现多个相同极值时默认取第一个出现的对应日期
如果你的日期已经设置为DataFrame的索引,最简洁的写法如下:
min_idx = df['AAPL.Close'].idxmin() max_idx = df['AAPL.Close'].idxmax() print(f"最小收盘价 {df['AAPL.Close'].loc[min_idx]} 出现在 {min_idx}") print(f"最大收盘价 {df['AAPL.Close'].loc[max_idx]} 出现在 {max_idx}")
如果日期仍存储在DataFrame的第一列,不需要调整索引的写法如下:
print("最小收盘价 {} 出现在 {}".format(df['AAPL.Close'].min(), df.loc[df['AAPL.Close'].idxmin(), df.columns[0]])) print("最大收盘价 {} 出现在 {}".format(df['AAPL.Close'].max(), df.loc[df['AAPL.Close'].idxmax(), df.columns[0]]))
内容的提问来源于stack exchange,提问作者Joshua
相关产品推荐
相关产品推荐

