📅  最后修改于: 2023-12-03 14:47:59.090000             🧑  作者: Mango
在 Pandas 中,我们可以用 timedelta
将时间差转换为天、小时、分钟等其他单位。这个功能非常有用,特别是在数据分析中需要对时间进行处理的时候。
比如,我们有一个时间差为 365 天的 timedelta
对象,我们可以用 days
属性获取它的天数,并将其除以 365 得到年数。
import pandas as pd
td = pd.Timedelta(days=365)
years = td.days / 365
print(years)
输出结果为:
1.0
在 Pandas 中,我们可以用 pd.to_datetime
方法将字符串转换为日期类型。同时,我们也可以用 pd.date_range
方法来生成日期范围。
比如,我们可以先生成一个日期范围,然后将其加上一个 timedelta
:
import pandas as pd
dates = pd.date_range(start='2021-01-01', end='2022-12-31')
new_dates = dates + pd.Timedelta(days=365)
print(new_dates)
输出结果为:
DatetimeIndex(['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04',
'2022-01-05', '2022-01-06', '2022-01-07', '2022-01-08',
'2022-01-09', '2022-01-10',
...
'2023-12-22', '2023-12-23', '2023-12-24', '2023-12-25',
'2023-12-26', '2023-12-27', '2023-12-28', '2023-12-29',
'2023-12-30', '2023-12-31'],
dtype='datetime64[ns]', length=730, freq='D')
除了将时间差转换为天数和年数之外,在 Pandas 中还可以将时间差转换为其他单位,比如小时、分钟等。
import pandas as pd
td = pd.Timedelta(days=365, hours=36, minutes=17, seconds=3)
total_seconds = td.total_seconds()
hours = total_seconds / 3600
print(hours)
输出结果为:
8760.284166666667
这里我们将一个时间差转换为了小时数。
通过本篇文章的介绍,我们可以看到如何将时间差转换为年、小时等其他单位,在数据分析中具有非常重要的作用。同时,我们还学习了如何在 Pandas 中处理日期数据。