python的pd.date_range得到的时间序列(年月日,按月增长)列表转为数值型
时间: 2023-11-27 08:54:28 浏览: 65
将时间序列列表转为数值型,可以使用 `astype()` 方法将时间序列转为 Unix 时间戳(以秒为单位),然后再将 Unix 时间戳转为数值型。
以下是示例代码:
```python
import pandas as pd
# 创建时间序列(按月增长)
date_rng = pd.date_range(start='1/1/2020', end='12/31/2020', freq='M')
# 将时间序列转为 Unix 时间戳(以秒为单位)
unix_time = date_rng.astype(int) // 10**9
# 将 Unix 时间戳转为数值型
numeric_time = unix_time.astype(float)
print(numeric_time)
```
输出结果为:
```
[1.5778368e+09 1.5803088e+09 1.5828704e+09 1.5854288e+09 1.5879872e+09
1.5905440e+09 1.5931056e+09 1.5956640e+09 1.5982224e+09 1.6007808e+09
1.6033424e+09 1.6059008e+09]
```
注意:在将时间序列转为 Unix 时间戳时,需要先将时间序列转为整型(`int`),然后再除以 $10^9$,得到的结果即为 Unix 时间戳。在将 Unix 时间戳转为数值型时,需要将其转为浮点型(`float`)。
相关问题
如何将pd.date_range的结果转化为datetime.date
`pd.date_range` 是 pandas 库中用于生成一定范围内的时间序列的函数。如果你想要将 `pd.date_range` 的结果转化为 `datetime.date` 对象,可以通过遍历 `pd.date_range` 生成的时间序列,并将每个 `Timestamp` 对象转换为 `datetime.date` 对象。
下面是一个 Python 代码示例:
```python
import pandas as pd
from datetime import datetime
# 创建一个日期范围
date_range = pd.date_range(start='2023-01-01', periods=5, freq='D')
# 将pd.date_range的结果转化为datetime.date
dates_as_datetime = [date.date() for date in date_range]
# 输出结果
print(dates_as_datetime)
```
在这个代码中,`date_range` 是一个 pandas 时间戳序列,我们通过列表推导式将每个时间戳转换成 datetime 对象的 date 方法,从而得到一个只包含日期的列表。
阅读全文