我有一個如下所示的熊貓資料框:
| 價錢 | 日期 |
|---|---|
| 25149.570 | 2/5/2017 14:22 |
| 24799.680 | 2/5/2017 14:22 |
| 24799.680 | 2/5/2017 14:22 |
| 14570.000 | 2017 年 2 月 5 日 14:47 |
| 14570.001 | 2017 年 2 月 5 日 14:47 |
| 14570.001 | 2017 年 2 月 5 日 14:47 |
| 14570.000 | 2017 年 2 月 5 日 15:01 |
| 14570.001 | 2017 年 2 月 5 日 15:01 |
| 14570.001 | 2017 年 2 月 5 日 15:01 |
| 14600.000 | 2017 年 2 月 6 日 17:49 |
| 14600.000 | 2017 年 2 月 6 日 17:49 |
| 14800.000 | 2017 年 2 月 6 日 17:49 |
| 14600.000 | 2017 年 2 月 6 日 17:49 |
| 14600.000 | 2017 年 2 月 6 日 17:49 |
| 14600.000 | 2017 年 2 月 6 日 18:30 |
| 14600.000 | 2017 年 2 月 6 日 18:30 |
| 14800.000 | 2017 年 2 月 6 日 18:30 |
| 14600.000 | 2017 年 2 月 6 日 18:30 |
| 14600.000 | 2017 年 2 月 6 日 18:30 |
我想根據日期列查找每一天的第一個和最后一個值。第一天的結果可能如下所示:
| 日期 | 第一的 | 最后的 |
|---|---|---|
| 2017 年 2 月 5 日 | 25149.57 | 14570.001 |
我嘗試使用此Q/A解決方案,但它不起作用。我如何找到每一天的First和(按日期分組)?Last Value
uj5u.com熱心網友回復:
您可以將“日期”列值轉換為日期(不包括小時);然后groupby它并使用first并last獲得預期的結果:
out = df.groupby(pd.to_datetime(df['Date']).dt.strftime('%m/%d/%Y'))['Price'].agg(['first', 'last']).reset_index()
輸出:
Date first last
0 02/05/2017 25149.57 14570.001
1 02/06/2017 14600.00 14600.000
uj5u.com熱心網友回復:
您必須確保您的資料框按升序Date(也許Price)排序
df['Date'] = pd.to_datetime(df['Date'], dayfirst=False)
out = df.sort_values(['Date', 'Price']).groupby(df['Date'].dt.date)['Price'] \
.agg(['first', 'last']).reset_index()
print(out)
# Output
Date first last
0 2017-02-05 24799.68 14570.001
1 2017-02-06 14600.00 14800.000
uj5u.com熱心網友回復:
您可以使用pd.to_datetime和dt.date作為石斑魚GroupBy.agg:
df2 = (df.groupby(pd.to_datetime(df['Date']).dt.date)
['Price'].agg(['first', 'last'])
)
輸出:
first last
Date
2017-02-05 25149.57 14570.001
2017-02-06 14600.00 14600.000
uj5u.com熱心網友回復:
您可以簡單地使用:
df["Date"] = pd.to_datetime(df["Date"])
df.set_index("Date", inplace=True)
df.groupby(pd.Grouper(freq="D")).agg(["first", "last"])
輸出
| 日期 | ('價格','第一') | ('價格','最后') |
|---|---|---|
| 2017-02-05 00:00:00 | 25149.6 | 14570 |
| 2017-02-06 00:00:00 | 14600 | 14600 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/444928.html
標籤:Python 熊猫 数据框 熊猫-groupby
上一篇:嵌套字典中資料框中的多列更新
下一篇:python根據其他列值設定列值
