Python中熊猫的索引+匹配项

时间:2019-05-22 07:37:32

标签: python pandas dataframe indexing

我有一个数据框,其中包含带有日期的列和带有股票价格列表的列。我想打印一条消息,报告观察到的最高股价以及观察到的相应日期。 通过使用filter()vlookup或简单的index-match函数可以解决Excel中的此问题。 什么是Python等价物?我对创建新列不感兴趣,而只是打印日期。

我的数据框(.offset(0,-1))的示例:

enter image description here

我的代码段:

data_df

其中 max1 = data_df.loc[:, ticker].max() max1_date = "test" #data_df.loc[data_df.idxmax(axis=0,skipna=True), 'Date'] print("The highest stock price observed at: \n", ticker, ":", max1.round(2), "USD on the date ", max1_date ) 在我的代码的其他位置生成。在此示例中,股票代码为 ATVI

3 个答案:

答案 0 :(得分:1)

我通过设置解决了: max1_date = data_df[data_df[ticker] == max1]['Date'].values[0]

答案 1 :(得分:1)

您可以将DataFrame.locnextiter一起使用,以获取第一个匹配的值,如果值不匹配,则获取字符串no match

max1_date = next(iter(data_df.loc[data_df[ticker] == max1, 'Date']), 'no match')

答案 2 :(得分:1)

data_df.iloc[data_df.ATVI.idxmax()]