问题标签 [datetime64]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在 Pandas Dataframe 中向 datetime64 对象添加分钟
我想将分钟列表添加datetime64
到新的 df 列中。
我尝试循环使用datetime.timedelta(minutes=x)
。for
但结果,它为我的所有行添加了一个常量值。我该如何解决这个问题?
我希望遍历列表并添加相应的分钟数,但这是为每一行添加一个 16 分钟的常量值。
pandas - 未来警告:不推荐将 datetime64-dtype 数据传递给 TimedeltaIndex
我有一个测量值数据集及其相应的时间戳,格式为 hh:mm:ss,其中 hh 可以> 24 h。
对于机器学习任务,需要对数据进行插值,因为分别有多个具有不同时间戳的测量值。对于重采样和插值,我发现索引的 dtype 应该是日期时间格式。对于进一步的数据处理和机器学习任务,我需要再次使用 timedelta 格式。
这是一些代码:
不幸的是,我收到以下错误消息:
FutureWarning:不推荐将 datetime64-dtype 数据传递给 TimedeltaIndex,这将在未来版本中引发 TypeError Res_cont = pd.to_timedelta(Res_cont.index)
很明显,我提供的代码的最后一行存在问题。我想知道,如何更改此代码以防止将来版本中出现类型错误。不幸的是,我不知道如何解决它。
也许你能帮忙?
编辑:这里有一些任意样本数据:
python - 如何将包含数据和 datetime64[ns] 的列表与具有 datetime64[ns] 索引的 pandas 数据框合并
我想从 a 中读取两列 S1_max 和 S2_max dataframe
data
。无论 S1_max 列中的哪个值存在,我都想检查每个S1_max
值是否都有相应的S2_max
信号。如果是这样,我计算S1_max
和S2_max
信号之间的时间增量。然后,此结果datetime[64ns]
在单独的 S2_max 列的索引处被索引,dict
d
然后附加到list
delta_data
. 如何将此结果添加到data
相应datetime[64ns]
索引处已存在的数据框中?
这是我的创作delta_data
:
delta_data
打印出来:
这是我的data
数据框:
此数据框由以下人员创建:
我试过DataFrame.combine_first
和append
.
此外,尝试将另一个数据帧添加到data
. 此数据帧在日期时间帧中没有 ms:
python - 如何在Python中获取日期列和同一列或不同列的最大日期之间的天差?
我正在设置一个新列作为 Python 中的日差(在 Jupyter 笔记本上)。
我执行了列日期和当前日期之间的天差。另外,我通过当前日期(当前日期 -/+ 使用 timedelta 函数的输入日期)执行了日期列和新创建日期之间的日期差异。
但是,每当我使用同一列和不同列的 max() 时,日差列都有 NaN 值。这对我来说没有意义,也许我错过了日期类型。当我检查所有类型时,它们似乎都是 datetime64 (我已经转换为 datetime64 )。
我认为原因是没有足够大的日期。但是,它发生在任何特定日期,例如 max(datecolumn)+timedelta(days=i)。
t=data_signups[["date_joined"]].max()
date_joined 2019-07-18 07:47:24.963450 数据类型:datetime64[ns]
t = t + timedelta(30)
date_joined 2019-08-17 07:47:24.963450 数据类型:datetime64[ns]
data_signups['joined_to_today'] = (t - data_signups['date_joined']).dt.days
data_signups.head(2)
缩短...
- date_joined_______________//joined_to_today________
- 2019-05-31 10:52:06.327341 // 南
- 2019-04-02 09:20:26.520272 // 南
然而,它适用于当前的任务,如下所示。
Currentdate = datetime.datetime.now() print(Currentdate) 2019-09-01 17:05:48.934362
before_days=int(input("输入今天之前的天数进行分析"))
30
完毕
last_day_for_analysis = Currentdate - timedelta(days=before_days)
打印(last_day_for_analysis)
2019-08-02 17:05:48.934362
data_signups['joined_to_today'] = (last_day_for_analysis - data_signups['date_joined']).dt.days
data_signups.head(2)
缩短...
- date_joined_______________//joined_to_today________
- 2019-05-31 10:52:06.327341 // 63
- 2019-04-02 09:20:26.520272 // 122
我希望存在日期类型问题。但是,我无法弄清楚,因为它们都是 datetime64。列中没有 NaN 值。
谢谢您的帮助。我是新手,我每天都在努力学习。
python - 为什么不能将 datetime64 与带有 np.c_ 的其他数组合并?
我正在从 Matlab 迁移...在 Windows 10 中使用 Jupyter Lab。
假设我有一个时间序列,其中包含一组 datetime64 和一些其他数据
我想合并两者以保存在另一个笔记本中继续工作(我知道还有其他方法可以做到这一点!)。首先,我将它们转换为列数组
并合并
并得到
但是如果我首先将 datetime64 转换为 datetime
有用。
问题:当数据和时间为 datetime64 时,为什么我不能合并数组?为什么我需要将其转换为日期时间?
python - 替换 Numpy 字符串列表中的单个字符
我有一个 datetime64 对象的 Numpy 数组,我需要将其转换为特定的时间格式 yyyy-mm-dd,HH:MM:SS.SSS Numpy 有一个名为datetime_as_string
输出 ISO8601 (yyyy-mm-ddTHH:MM:SS. SSS)时间,这与我想要的非常接近,唯一的区别是有一个 T 我想要一个逗号。
有没有办法快速将“T”换成“,”?这是一个示例数据集:
我已经成功使用了 lambda 和列表推导,但是从 Python 列表到 Numpy 数组来回切换似乎很尴尬。
我知道在某些情况下 lambdas 可以“直接”应用于 Numpy 数组,但在这种情况下它不起作用。f(time_strings)
产生一个类型错误。有什么想法吗?
我知道我可以转换回 Python 日期时间(这是我来自的方向)或使用 Pandas。但是这个datetime_as_string
功能真的很快,我想坚持使用 Numpy 解决方案。
--- 基于答案的结论 ---
事实证明,Paul 的观点施展黑魔法比我的列表理解快 75 倍,比np.char.replace()
. 以下是这三种方法的结果(均使用上述数据集进行初始化,但包含 1000000 个元素)。
python - 如何从'转换'ndarray'列dtype
我已经尝试了很多事情,但似乎无法让它发挥作用。本质上,我想这样做是因为当我尝试将此 ndarray 转换为 DataFrame 时发生错误。在 Dataframe 中查找缺失的 Datetime64 值时会发生以下错误:
“越界纳秒时间戳:1-01-01 00:00:00”
因此,我希望将这些 DateTime64 列转
我已经尝试了很多事情,但似乎无法让它发挥作用。本质上,我想这样做是因为当我尝试将此 ndarray 转换为 DataFrame 时发生错误。在 Dataframe 中查找缺失的 Datetime64 值时会发生以下错误:
“越界纳秒时间戳:1-01-01 00:00:00”
因此,我希望将这些 DateTime64 列转换为字符串并在 ndarray 中重新编码“1-01-01 00:00:00”,然后将它们转换回 DataFrame 中的 DateTime 变量,以避免遇到上面显示的错误。
印刷:
首先请检查您的帖子是否有效,即包含可运行代码。您的示例返回语法错误,并且您尝试解释的代码根本不存在。
但是,我假设您的数据看起来像
看起来转换为数据框
那么您尝试将日期字符串转换为日期时间对象可能是
这会导致您在问题中发布的错误消息。
errors
您可以使用以下kwarg捕获这些解析错误pd.to_datetime
:
我已经尝试了很多事情,但似乎无法让它发挥作用。本质上,我想这样做是因为当我尝试将此 ndarray 转换为 DataFrame 时发生错误。在 Dataframe 中查找缺失的 Datetime64 值时会发生以下错误:
“越界纳秒时间戳:1-01-01 00:00:00”
因此,我希望将这些 DateTime64 列转
我已经尝试了很多事情,但似乎无法让它发挥作用。本质上,我想这样做是因为当我尝试将此 ndarray 转换为 DataFrame 时发生错误。在 Dataframe 中查找缺失的 Datetime64 值时会发生以下错误:
“越界纳秒时间戳:1-01-01 00:00:00”
因此,我希望将这些 DateTime64 列转换为字符串并在 ndarray 中重新编码“1-01-01 00:00:00”,然后将它们转换回 DataFrame 中的 DateTime 变量,以避免遇到上面显示的错误。
印刷:
首先请检查您的帖子是否有效,即包含可运行代码。您的示例返回语法错误,并且您尝试解释的代码根本不存在。
但是,我假设您的数据看起来像
看起来转换为数据框
那么您尝试将日期字符串转换为日期时间对象可能是
这会导致您在问题中发布的错误消息。
errors
您可以使用以下kwarg捕获这些解析错误pd.to_datetime
:
python - 为什么调用 '.values' 时 pd.Timestamp 会转换为 np.datetime64?
访问时DataFrame.values
,所有pd.Timestamp
对象都转换为np.datetime64
对象,为什么?可以存在np.ndarray
包含pd.Timestamp
对象,因此我不明白为什么总是会发生这种自动转换。
你知道如何预防吗?
最小的例子:
蟒蛇:3.6.7.final.0
熊猫:0.25.3
麻木:1.16.4
python - 将 datetime64 转换为秒
我减去了两个 datetime64 列,得到了一列结果,例如“00:20:32”和“00:08:21”。然后如何将这些 datetime64 值转换为秒?
pandas - 如何将 datetime64 对象的 pandas 列转换为年份?
我正在使用一个 pandas 数据框,其中一列是 datetime64 对象。我需要绘制每年行数的条形图,并将数据框切片为一个月范围(例如 2011 年 1 月至 2011 年 3 月)。我想我可以添加一个仅包含年份或月份的列,但我该怎么做呢?
我跑了
但得到一个 AttributeError: Can only use .dt accessor with datetimelike values