如何在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
其中
第一张账单日期
最后一张账单日期
属于
时间戳类型

,并且
持续时间
(type
str
)是
第一个票据日期
最后一个票据日期

持续时间
通过以下函数计算:

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进行此任务),但代码取决于您认为此绘图应该如何构造。你有你喜欢的表达方式的示例图吗?没有什么特别的,一个简单的条形图就可以了