如何使用 Pandas 的时间戳按小时对数据帧进行分组

2024-01-04

我有以下使用时间戳索引的数据帧结构:

    neg neu norm    pol pos date
time                        
1520353341  0.000   1.000   0.0000  0.000000    0.000   
1520353342  0.121   0.879   -0.2960 0.347851    0.000   
1520353342  0.217   0.783   -0.6124 0.465833    0.000   

我从时间戳创建一个日期:

data_frame['date'] = [datetime.datetime.fromtimestamp(d) for d in data_frame.time]

Result:

    neg neu norm    pol pos date
time                        
1520353341  0.000   1.000   0.0000  0.000000    0.000   2018-03-06 10:22:21
1520353342  0.121   0.879   -0.2960 0.347851    0.000   2018-03-06 10:22:22
1520353342  0.217   0.783   -0.6124 0.465833    0.000   2018-03-06 10:22:22

我想要按小时分组,同时得到mean for 除时间戳之外的所有值,那应该是小组开始的时间。所以这是我想要存档的结果:

    neg neu norm    pol pos
time                    
1520352000  0.027989    0.893233    0.122535    0.221079    0.078779
1520355600  0.028861    0.899321    0.103698    0.209353    0.071811

到目前为止我最接近的是这个answer https://stackoverflow.com/questions/11391969/how-to-group-pandas-dataframe-entries-by-date-in-a-non-unique-column:

data = data.groupby(data.date.dt.hour).mean()

Results:

    neg neu norm    pol pos
date                    
0   0.027989    0.893233    0.122535    0.221079    0.078779
1   0.028861    0.899321    0.103698    0.209353    0.071811

但我不知道如何保留考虑到 grouby 开始时间的时间戳。


我偶然发现了这颗宝石,pd.DataFrame.resample https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.resample.html,在我发布了我的逐小时解决方案之后。

# Construct example dataframe
times = pd.date_range('1/1/2018', periods=5, freq='25min')
values = [4,8,3,4,1]
df = pd.DataFrame({'val':values}, index=times)

# Resample by hour and calculate medians
df.resample('H').median()

或者你可以使用groupby https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html with Grouper https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Grouper.html如果您不想将时间作为索引:

df = pd.DataFrame({'val':values, 'times':times})
df.groupby(pd.Grouper(level='times', freq='H')).median()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Pandas 的时间戳按小时对数据帧进行分组 的相关文章

随机推荐

  • 如何测量 SQL 填充因子值

    通常 当我在表上创建索引时 我通常会猜测Fill Factor应基于对表的使用方式 多次读取或多次写入 的有根据的猜测 有没有更科学的方法来判断更准确Fill Factor value 您可以尝试运行大量实际操作并查看 IO 队列以了解不同
  • Visual Studio 2008 中的 .NET 2.0 安装项目

    我开发了一个针对 net 2 0 的 win forms 应用程序 所有这些都在 Visual Studio 2008 sp1 中 我这样做是因为我并不真正需要应用程序中的 3 0 功能 我不希望客户在可以安装半大型框架的情况下必须安装一个
  • Kotlin:Kotlin 脚本 (.kts) 无法使用常规代码?

    在我的库的代码库中 我有这个包函数 fun sayHello println Hello there 该函数在包中定义org jire pomade 我想在一个 kts像这样的文件 sayHello 不幸的是 我似乎无法让除了 Kotlin
  • 在从 VSTS 进行新部署之前删除 Azure 上的文件和文件夹

    作为 VSTS 中构建过程的一部分 我想在新部署之前从我的 Azure 站点中删除所有文件和文件夹 除了少数几个 我的猜测是 使用 Azure Powershell 脚本将是一个好主意 我更喜欢制作内联脚本 我使用 Azure 资源管理器作
  • 如何使用 useEffect() 更改 React-Hook-Form defaultValue?

    我正在创建一个页面 供用户使用 React Hook Form 更新个人数据 加载分页后 我使用useEffect获取用户当前的个人数据并将其设置为表单的默认值 我将获取的值放入defaultValue of
  • libvlc_new 始终返回 NULL

    我尝试做教程示例 https wiki videolan org LibVLC Tutorial libvlc 的工作 我通过安装了vlc SDKsudo apt install libvlc dev并链接到它 lvlc 编译和链接完成时没
  • 在移动 Safari 中忽略 Overflow-x 值

    我们将body和可滚动元素上的overflow x值设置为隐藏 但移动Safari会忽略这些值 在桌面上 溢出值工作正常 相关代码 body overflow x hidden width 320px height 100 min heig
  • 如何修复状态为“已拒绝”的 dig 命令?

    我需要帮助修复被拒绝的状态 我看了一下named conf一切看起来都很好 我什至改变了allow query to any 它曾经是localhost dig xxx com ns1 xxx com lt lt gt gt DiG 9 8
  • C++中的时差

    有谁知道如何计算 C 中的时间差 以毫秒为单位 我用了difftime http linux die net man 3 difftime但它对于我想要测量的东西来说没有足够的精度 我知道这是一个老问题 但 C 0x 有一个更新的答案 有一
  • 如何避免在 GEKKO 中创建许多二进制切换变量

    我通过最小化数千个方程来求解 14 个变量IMODE 3 in GEKKO 每个方程都是真实响应与 P 样条模型预测之间的平方误差 i e 惩罚 B 样条 eq i m Minimize y true i spline coeffs kno
  • Python:如何创建函数?例如f(x) = ax^2

    我想要对函数进行某种引用 但我不知道是否需要使用def f x or a lambda某种 例如我想print f 3 并让它输出9a 或者这不是 python 的工作原理 第二个问题 假设我有一个工作函数 我如何返回degree of i
  • Excel VBA 在 Windows 10 中回答 Internet Explorer 11 下载提示?

    我正在尝试自动下载 csv 文件http www nasdaqomxnordic com http www nasdaqomxnordic com使用 Excel 2010 VBA 和 Internet Explorer 如何使用 保存 自
  • 如何消除 iPad 应用程序主窗口上的圆角?

    我见过一些 iPad 应用程序填满屏幕 例如 Stanza 或在状态栏下方形成方形角 例如 iPod 播放器顶部有方形角 底部看不出来 有人知道这是怎么做到的吗 默认情况下 顶层 UIWindow 似乎应用了一个剪切区域 因为我放置在该窗口
  • 显示网络浏览器设置

    使用不同的网络浏览器及其版本号字符串以及无数的配置列表确实很痛苦 我想知道是否有人想出了一个网页 可以将浏览器设置转储到浏览器 以便可以保存并转发给开发人员 Thanks 像这样的东西吗 http mybrowserinfo com det
  • 预期是二维数组,却得到一维数组,而是错误

    我得到的错误为 ValueError 需要 2D 数组 却得到 1D 数组 array 45000 50000 60000 80000 110000 150000 200000 300000 500000 1000000 如果数据具有单个特
  • 委托、Lambda 和 LINQ,天哪!

    作为一名相当初级的开发人员 我遇到了一个突出我经验不足和知识漏洞的问题 如果这里的序言太长 请原谅 我发现自己参与的一个项目需要学习许多 对我而言 新技术 其中包括 LINQ 用于该项目的 OBJECTS 和 XML 等 到目前为止我读到的
  • 如何获取使用“文本数字”的字体的升序或降序高度

    我对文本数字有疑问 参见维基百科 http en wikipedia org wiki Text figures 在使用以下命令创建的 PDF 文档中itextsharp 基线和数字最低点之间的距离 例如9 与字体的正常下降高度不同 使用下
  • 验证多态关联模型中的范围唯一性

    是的 所以我有一个多态关联 允许收藏不同的对象类型 所以一个人可以喜欢一个产品 一个人 或者其他什么 我想要做的是防止有人使用验证收藏夹模型中的唯一性来复制收藏夹 class Favorite lt ActiveRecord Base be
  • XMLHttpRequest 与 HttpRequest

    有谁知道 什么是XMLHttpRequest使网页能够执行普通网页无法完成的操作HttpRequest XMLHttpRequest http en wikipedia org wiki XMLHttpRequest是一个标准的 javas
  • 如何使用 Pandas 的时间戳按小时对数据帧进行分组

    我有以下使用时间戳索引的数据帧结构 neg neu norm pol pos date time 1520353341 0 000 1 000 0 0000 0 000000 0 000 1520353342 0 121 0 879 0 2