我有一個熊貓資料框
datetime value month
2021-03-01 10 March
2021-03-28 15 March
2021-04-02 10 April
2021-04-05 12 April
2021-04-31 20 April
2021-05-10 15 May
2021-05-27 30 May
我想從一個月中獲取最后一個值 - 該月的第一個值
預期結果應如下所示:
Month Value
March 15-10=5
April 20-10=10
May 30-15=15
uj5u.com熱心網友回復:
IIUC,您可以使用命名GroupBy并獲取last- first:
g = df.groupby('month')['value']
out = g.last()-g.first()
或者,使用apply:
out = df.groupby('month')['value'].apply(lambda g: g.last()-g.first())
輸出:
month
April 10
March 5
May 15
Name: value, dtype: int64
uj5u.com熱心網友回復:
對于第一次使用聚合和減法減去最后一個GroupBy.last值GroupBy.first:
df1 = df.groupby('month')['value'].agg(['first','last'])
out = df1['last'].sub(df1['first'])
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/447955.html
