在 pandas 中解析 POSIX 时间戳的惯用方法?

2024-02-26

我有一个 csv 文件,其中的时间列表示 POSIX 时间戳(以毫秒为单位)。当我在 pandas 中读取它时,它正确地将其读取为 Int64,但我想将其转换为 DatetimeIndex。现在我首先将其转换为日期时间对象,然后将其转换为 DatetimeIndex。

In [20]: df.time.head()

Out[20]: 
0    1283346000062
1    1283346000062
2    1283346000062
3    1283346000062
4    1283346000300
Name: time

In [21]: map(datetime.fromtimestamp, df.time.head()/1000.)
Out[21]: 
[datetime.datetime(2010, 9, 1, 9, 0, 0, 62000),
 datetime.datetime(2010, 9, 1, 9, 0, 0, 62000),
 datetime.datetime(2010, 9, 1, 9, 0, 0, 62000),
 datetime.datetime(2010, 9, 1, 9, 0, 0, 62000),
 datetime.datetime(2010, 9, 1, 9, 0, 0, 300000)]

In [22]: pandas.DatetimeIndex(map(datetime.fromtimestamp, df.time.head()/1000.))
Out[22]: 
<class 'pandas.tseries.index.DatetimeIndex'>
[2010-09-01 09:00:00.062000, ..., 2010-09-01 09:00:00.300000]
Length: 5, Freq: None, Timezone: None

有这样做的惯用方法吗?更重要的是,这是在 pandas 中存储非唯一时间戳的推荐方法吗?


您可以将转换器与 read_csv 结合使用。

In [423]: d = """\
timestamp data
1283346000062 a
1283346000062 b
1283346000062 c
1283346000062 d
1283346000300 e
"""

In [424]: fromtimestamp = lambda x:datetime.fromtimestamp(int(x) / 1000.)

In [425]: df = pandas.read_csv(StringIO(d), sep='\s+', converters={'timestamp': fromtimestamp}).set_index('timestamp')

In [426]: df.index
Out[426]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2010-09-01 15:00:00.062000, ..., 2010-09-01 15:00:00.300000]
Length: 5, Freq: None, Timezone: None

In [427]: df
Out[427]:
                           data
timestamp
2010-09-01 15:00:00.062000    a
2010-09-01 15:00:00.062000    b
2010-09-01 15:00:00.062000    c
2010-09-01 15:00:00.062000    d
2010-09-01 15:00:00.300000    e
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 pandas 中解析 POSIX 时间戳的惯用方法? 的相关文章

随机推荐

  • startMonitoringSignificantLocationChanges 和 startUpdatingLocation 如何相互影响?

    如果我打电话会发生什么startUpdatingLocation while startMonitoringSignificantLocationChanges在跑 重要的位置变化监控是否停止 如果我那么stopUpdatingLocati
  • JSON 字符串错误地映射到文本视图

    我有 3 个文本视图 我试图用 JSON Http 响应中的数据填充它们 但它们当前填充的是响应中的错误数据 由于某种原因 它没有解析字段并正确分配它们 看起来它只是用 JSON 响应中的数据开头填充每个文本视图 截屏 JSON HTTP
  • 如何添加 MSAccess 连接到 CodeIgniter 或 CakePHP?

    我正在尝试使用 Microsoft Access 数据库进行演示项目 我正在考虑在 CodeIgniter 或 CakePHP 中进行该项目 忽略使用 Microsoft Access 可能存在的愚蠢行为 我无法准确地弄清楚连接字符串如何与
  • 将多个单选按钮绑定到单个布尔值

    背景 我有一个包含三个布尔值的模型 public class PageDataModel public bool setting1 get set public bool setting2 get set public bool setti
  • 附加!在计划中?

    我目前正在学习 R5RS 方案 来自 PocketScheme 我发现我可以使用内置于方案的某些变体 但不是全部 中的函数 Append 换句话说 破坏性地改变列表 我对实际代码并不感兴趣 而是对答案感兴趣 而是对将列表作为函数 或向量或字
  • CSS3 文本阴影效果与 jQuery

    我希望能够创建与 CSS3 text shadow 属性相同的效果 使其可供不支持此 CSS3 属性的浏览器 例如 IE 7 和 8 使用 所以我找到了两个插件 文字阴影 https web archive org web 20141108
  • Qt:无法从输入设备读取:没有这样的设备

    我有一个在嵌入式 Linux 平台 i Mx 6 上运行的 Qt 应用程序 我的应用程序应支持触摸屏作为主要输入设备和可选的 USB 键盘 如果已连接 所以现在 我已配置要启动的应用程序 如下所示 my qt app plugin tsli
  • 可更新的 VIEW 不适用于 Postgres 9.5 中的 ON CONFLICT

    PostgreSQL 版本 9 5 4 我有一个表定义为 CREATE TABLE IF NOT EXISTS TEST 1 ID SERIAL PRIMARY KEY C1 BYTEA C2 TEXT NOT NULL C3 BOOLEA
  • 如何从多维数组中找到最大的数组[重复]

    这个问题在这里已经有答案了 可能的重复 获取多维数组中元素的最大值 https stackoverflow com questions 2189479 get the maximum value from an element in a m
  • 获取 Instagram 访问令牌

    我们有一个客户 他的网站上有一个简单的 Instagram 功能 可以按特定标签提取照片 他们只是注意到它不起作用 收到错误 访问令牌无效 我想从一号开始就因为更新了 我们过去不需要访问令牌 因为我们没有对用户做任何事情 只是标签 现在看来
  • Nuxt.js - 在页面中添加两个布局

    我是初学者Nuxt js我正在将 Vue 项目转换为 Nuxt js 并且我想在一个页面上使用两种布局 默认的一个和另一个 逻辑是这样的 第一个布局是 默认 或所有页面上的标题 第二个布局是设置栏 In settings我的页面有 3 条路
  • Vue3 + Vite + Typescript:作用域插槽类型错误

    我有一个包含以下 devstack Vue3 Vite TypeScript 的项目 并且出现以下错误v slot Element implicitly has an any type because expression of type
  • 河内塔序言

    您好 我在实施河内塔时遇到问题 我需要打印包含必要动作的列表列表 但我的算法仅在光盘数量为 N 1 时才起作用 这是我的代码 move 1 X Y L append X Y L move N X Y Z N gt 1 M is N 1 mo
  • javascript 源映射:将映射文件保留在本地,仅用于调试生产 javascript

    我想调试生产网站 但我不想将地图文件上传到服务器上 出于隐私原因 因为它是公开的 对吧 是否可以 我不相信目前任何浏览器都允许从本地文件按需加载源映射 因此您必须以某种方式将源映射放到网上 一种解决方案可能是创建一个 htaccess 文件
  • Angular:拦截 HTTP 错误并继续链

    我想将某些 HTTP 错误代码视为非错误 并正常处理它们的响应 所以我尝试添加一个HttpInterceptor捕获 500 个状态代码 并返回原始响应 Angular 将其放入error error intercept req HttpR
  • 即使类型不可能实现特征,它是否是报告“特征实现冲突”的编译器限制?

    当试图回答时这个问题 https stackoverflow com questions 55628334 trait function conditional default implementation 我写了这段代码 trait My
  • 如何实现XMPP发送推送通知

    我想使用 XMPP 以便我的应用程序能够向 Android 手机 1 5 及更高版本 发送更新 我非常想使用 XMPP 向手机发送推送通知 我将如何实现这一目标 目前 我的 Web 应用程序正在 apache tomact 上运行 带有许多
  • 如何为 Stripe 结帐会话生成已付款发票 PDF?

    目前 我的网络应用程序在通过 Stripe 结账购买后 会通过电子邮件向客户发送 Stripe 收据 然而 对于某些客户来说 这还不够 他们想要一张已付款的购买发票 上面有我的企业和他们的企业的信息 如何使用这些信息生成 PDF 我调查过
  • 不允许出现重复的“row.names”错误

    我正在尝试加载一个包含 14 列的 csv 文件 如下所示 StartDate var1 var2 var3 var14 当我发出这个命令时 systems lt read table http getfile pl test csv he
  • 在 pandas 中解析 POSIX 时间戳的惯用方法?

    我有一个 csv 文件 其中的时间列表示 POSIX 时间戳 以毫秒为单位 当我在 pandas 中读取它时 它正确地将其读取为 Int64 但我想将其转换为 DatetimeIndex 现在我首先将其转换为日期时间对象 然后将其转换为 D