检查熊猫的时间戳

时间:2019-03-07 20:47:21

标签: python pandas

我有一个熊猫数据集,每行都有时间戳(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(24hs)

     

第4行-第3行= 86400(24小时)...

1 个答案:

答案 0 :(得分:3)

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