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

  统计/机器学习 数据预处理 时间序列 Python    浏览次数: 579
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面经 问答 实战

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面经 问答 实战

whs_ita   2018-06-27 10:47



  相关主题

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

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

pandas把一列日期转换为星期   3回答

对pandas.DataFrame进行groupby结果中index的问题   2回答

如何复制一个pandas DataFrame   1回答

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

怎么添加pandas的dataframe到已有的csv文件,并且不覆盖原内容   1回答

pandas dataframe对行去重?   1回答

将pandas.DataFrame中的-1全部换成0   1回答

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

pandas操作出现ValueError: The truth value of a Series is ambiguous.   1回答

行数很多的pandas DataFrame如何在jupyter中完整显示?   1回答



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

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

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

我们谢绝答非所问。

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

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