pandas中获取一列日期和今天相差的天数

  统计/机器学习 数据预处理 时间序列 Python    浏览次数:11768        分享
0

我的pandas的dataframe中有一列是日期,并且已经通过如下的方式转换为日期格式了

df['dates'] = pd.to_datetime(df['dates'])

我下一步想做的事,得到一列'days_diff',就是'dates'那一列和今天相差的天数,过去和今天相差的是负数,未来和今天相差的是正数。

请问这要怎么操作?

 

ggg818   2018-06-23 11:31



   2个回答 
4

试试这个~

from datetime import date
today = date(2018, 6, 23)
df['days_diff'] = (df['dates'] - today).apply(lambda x: x.days)


SofaSofa数据科学社区DS面试题库 DS面经

nlceyes   2018-06-23 14:16

多谢! - ggg818   2018-06-23 22:44
3

类似nlceyes的方法,不过直接调用了pandas里的today

df['days_diff'] = list(map(lambda x: x.days, df['dates'] - pd.to_datetime('today')))


SofaSofa数据科学社区DS面试题库 DS面经

whs_ita   2018-06-27 10:47



  相关讨论

pandas把一列日期转换为星期

pandas dataframe 日期间隔天数计算问题

Pandas怎样对dataframe中的一个时间列进行排序?

pandas里dt.dayofweek返回的0是星期几?

python 如何根据日期进行分组处理

像年、月、日、小时这种时间变量一般怎么处理?

时间序列样本中有负数时怎么求几何平均值?

pandas groupby agg中使用自定义函数

pandas怎么求一列的移动中位数?

pandas 如何扔掉同时满足两个特征过滤条件的数据?

  随便看看

怎么提取pandas dataframe中某一列每个字符串的前n个字符?

sota model是什么意思?

为啥Xgboost比GradientBoost好那么多?

pandas同时返回一个dataframe的前几行(head)和后几行(tail)

numpy array里怎么用fillna填充nan的值?