将熊猫的连续时间点的时间增量转换为整数

时间:2020-01-01 00:39:41

标签: python-3.x pandas

假设我有数据框

import pandas as pd

df = pd.DataFrame({"Time": ['2010-01-01', '2010-01-02', '2010-01-03', '2010-01-04']})

print(df)

              Time
  0     2010-01-01
  1     2010-01-02
  2     2010-01-03
  3     2010-01-04

如果我想从数据帧中每次的最低时间点开始计算时间,可以使用apply函数,如

df['Time'] = pd.to_datetime(df['Time'])
df.sort_values(inplace = True)

df['Time'] = df['Time'].apply(lambda x: (x - df['Time'].iloc[0]).days)

print(df)

     Time
  0     0
  1     1
  2     2
  3     3

Pandas中是否已经有执行此功能的功能?

1 个答案:

答案 0 :(得分:1)

我建议 使用apply

(df.Time-df.Time.iloc[0]).dt.days
0    0
1    1
2    2
3    3
Name: Time, dtype: int64