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

  统计/机器学习 数据预处理 时间序列 Python    浏览次数:5910        分享
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把一列日期转换为星期   3回答

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

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

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

嵌套dictionary类型数据转成pandas dataframe的问题   2回答

pandas dataframe对行去重?   1回答

怎么对pandas dataframe的列求众数   2回答

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

pandas读取csv中指定的某些列   2回答

pandas新建一个只有一行的dataframe时结果返回空的dataframe   1回答

怎么对pandas dataframe做转置?   1回答

pandas怎么读入tsv格式的数据   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!