我有一个熊猫数据框,其中每一行代表10月份每天的不同股票。dataframe有多个列。其中三个是 Stock_id , Date Stock_value .
Stock_id
Date
Stock_value
我想找到10月份每天价值最大的股票,并插入其 作为数据帧中每一行的新列的值。
请记住,以上是示例输入和期望输出。首先,每个“股票id”在10月份的每个日期都有一行。
我想解决这个问题的办法包括 data_daily.groupby(['Date'])['Stock_value'] 但是有一些更明显的东西,或者可能是完全不同的东西。
data_daily.groupby(['Date'])['Stock_value']
我该怎么做?
你可以试试:
transform = df.groupby('Date')['Stock_value'].transform('idxmax') df['Max_Stock_id'] = df.iloc[transform, 0].values print(df)
Stock_id Date Stock_value Max_Stock_id 0 963 2018-02-10 97.5 963 1 1201 2018-02-10 91.1 963 2 1341 2018-03-10 93.7 1341 3 1458 2018-03-10 92.6 1341