python - 检查熊猫中的时间戳
问题描述
我有一个熊猫数据集,每行都带有时间戳(unix 时间 - 每行代表一天)。
前任:
Index Timestamp Value
1 1544400000 2598
2 1544572800 2649
3 1544659200 2234
4 1544745600 2204
5 1544832000 1293
是否可以使用一种方法,我可以从前一行中减去每一行(从第一列)?目的是知道行之间的间隔是否相同,以确保数据集没有跳过一天。在上面的示例中,第一天跳到第三天,间隔为 48 小时,而其他行都是 24 小时间隔。
我想我可以使用iterrows()
.,但这对于大型数据库来说似乎非常昂贵。
--
不确定我是否足够清楚,所以在上面的示例中:
列时间戳:
第 2 行 - 第 1 行 = 172800(48 小时)
第 3 行 - 第 2 行 = 86400(24 小时)
第 4 行 - 第 3 行 = 86400(24 小时)...
解决方案
Pandas DataFrames 有一种diff
方法可以满足您的需求。请注意,返回的差异的第一行将包含 NaN,因此在任何比较中都需要忽略它。
一个例子是
import pandas as pd
df = pd.DataFrame({'timestamps': [100, 200, 300, 500]})
# get diff of column (ignoring the first NaN values) and convert to a list
X = df['timestamps'].diff()[1:].tolist()
X.count(X[0]) == len(X) # check if all values are the same, e.g. https://stackoverflow.com/a/3844948/1862861
推荐阅读
- reactjs - Reacharts:我需要帮助从 json 对象获取数据
- android-listview - 为什么列表视图为空且不显示数据?
- git - 当我将一组提交合并到分支 dev 时,我停留在变基阶段
- sql - 哪个通用数据库库在 Google Cloud Run 和类似服务上的成本最低(例如内存和 cpu 使用)?
- java - Kafka avrò 找不到主题
- amazon-web-services - 如何在启动 AWS 实例时创建用户和密码
- ssl - 捕获的 TLS 握手之间的差异
- python - 如何通过 linux 脚本激活 python env?
- python - 如何根据分割后行第一部分的最大重复次数对行进行排序?
- r - 在闪避的ggplot2箱线图中添加组内和组之间的显着性条