如何在Python中绘制两个日期之间的持续时间?
我正在使用以下数据帧:如何在Python中绘制两个日期之间的持续时间?,python,pandas,datetime,plot,data-visualization,Python,Pandas,Datetime,Plot,Data Visualization,我正在使用以下数据帧: First Bill Date Last Bill Date Duration 0 2020-06-22 2021-01-06 0 Years 6 Months 14 Days 1 2020-07-06 2020-12-04 0 Years 4 Months 29 Days 2 2020-06-06 2020-10-01 0 Years 3 Months 25 Days 3 2020-07-21 2020-07-21 0 Years 0
First Bill Date Last Bill Date Duration
0 2020-06-22 2021-01-06 0 Years 6 Months 14 Days
1 2020-07-06 2020-12-04 0 Years 4 Months 29 Days
2 2020-06-06 2020-10-01 0 Years 3 Months 25 Days
3 2020-07-21 2020-07-21 0 Years 0 Months 0 Days
4 2020-07-03 2020-09-16 0 Years 2 Months 13 Days
其中第一张账单日期
和最后一张账单日期
属于时间戳类型
,并且持续时间
(typestr
)是第一个票据日期
和最后一个票据日期
持续时间
通过以下函数计算:
def date_difference(d1, d2):
d1 = d1.strftime("%Y-%m-%d")
d2 = d2.strftime("%Y-%m-%d")
d1 = datetime.strptime(d1, "%Y-%m-%d")
d2 = datetime.strptime(d2, "%Y-%m-%d")
difference = relativedelta.relativedelta(d1, d2)
years = difference.years
months = difference.months
days = difference.days
return f'{abs(years)} Years {abs(months)} Months {abs(days)} Days'
是否有一种方法可以使用任何可视化软件包绘制持续时间
请告知。如果将持续时间转换为天数整数,则应直接绘制。因此,您可以将函数更改为以下内容 定义日期差异(d1、d2): 报税表(d2-d1)。天数 然后使用df['Duration']进行绘图。绘图()
编辑:我假设
d2
是较晚的日期,如果不是这样的话,那么您应该颠倒顺序,当然像matplotlib或seaborn这样的库可以生成您的图形(pandas也使用matplotlib进行此任务),但代码取决于您认为此绘图应该如何构造。你有你喜欢的表达方式的示例图吗?没有什么特别的,一个简单的条形图就可以了