python - 如何在 Pandas 数据框中找到每天的第一个和最后一个值

标签 python pandas dataframe pandas-groupby

我有一个如下所示的 pandas DataFrame:

<表类="s-表"> <头> 价格 <日>日期 <正文> 25149.570 2017-02-05 14:22 24799.680 2017-02-05 14:22 24799.680 2017-02-05 14:22 14570.000 2017-02-05 14:47 14570.001 2017-02-05 14:47 14570.001 2017-02-05 14:47 14570.000 2017-02-05 15:01 14570.001 2017-02-05 15:01 14570.001 2017-02-05 15:01 14600.000 2017-02-06 17:49 14600.000 2017-02-06 17:49 14800.000 2017-02-06 17:49 14600.000 2017-02-06 17:49 14600.000 2017-02-06 17:49 14600.000 2017-02-06 18:30 14600.000 2017-02-06 18:30 14800.000 2017-02-06 18:30 14600.000 2017-02-06 18:30 14600.000 2017-02-06 18:30

我想根据日期列查找每一天的第一个和最后一个值。第一天的结果可能如下所示:

<表类="s-表"> <头> <日>日期 第一个 <日>最后 <正文> 2017/2/5 25149.57 14570.001

我尝试使用这个 Q/A解决方案,但它不起作用。 我如何找到 FirstLast Value每天(按日期分组)?

最佳答案

您可以将“日期”列值转换为日期(不含小时);然后 groupby 它并使用 firstlast 得到想要的结果:

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

关于python - 如何在 Pandas 数据框中找到每天的第一个和最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71492143/

相关文章:

python - PyQt4 文件选择小部件

python - 如何在 Flask 的页面上显示小部件?

python - 推断 Pandas DataFrame

python - Pandas:列上的多重索引丢失后从宽变为长

python - Pandas GroupBy 全部应用

python - 尝试使用套接字将值从 GUI 传递到另一个应用程序

python - 为什么我的 Django 服务器突然不工作了?

pandas - 仅保留重复列的第一个值(将 0 设置为其他值)

python - 提取和解析 pandas 数据框中的日期

python - 指定匹配日期的行数