Pandas2.2 Series
Conversion
| 方法 | 描述 |
|---|---|
| Series.astype | 用于将Series对象的数据类型转换为指定类型的方法 |
| Series.convert_dtypes | 用于将 Series 对象的数据类型智能地转换为最佳可能的数据类型的方法 |
| Series.infer_objects | 用于尝试推断 Series 中对象(object)数据类型列的最佳数据类型 |
| Series.copy | 用于创建该对象的索引和数据的副本 |
| Series.bool | 用于将布尔类型的 Pandas Series 对象转换为一个单一的布尔值的方法 |
| Series.to_numpy | 用于将 Pandas 的 Series 对象转换为 NumPy 数组 |
| Series.to_period | 用于将时间序列数据(如 datetime 类型)转换为周期(Period)类型 |
pandas.Series.to_period
pandas.Series.to_period 方法用于将时间序列数据(如 datetime 类型)转换为周期(Period)类型。该方法可以指定频率(如年、月、日等),并返回一个新的 Series,其中每个元素都表示一个时间段而不是具体的时间点。
参数
- freq: 可选参数,指定转换的频率。例如:‘M’ 表示月,‘Y’ 表示年,‘D’ 表示日等。默认值为 None,即尝试推断频率。
- copy: 布尔值,默认 True,是否返回一个新的 DataFrame,如果为 True,则返回一个复制的 DataFrame;如果为 False 或 None,则返回原数据的视图(如果可能)。
返回值
- 返回一个新的
Series对象,其数据类型为Period。
示例及结果
import pandas as pd
# 创建一个包含日期的 Series
dates = pd.date_range(start='2023-01-01', periods=5, freq='D')
s = pd.Series(dates)
print("原始 Series:")
print(s)
# 将 Series 转换为周期类型,频率为月
s_period_month = s.dt.to_period('M')
print("\n转换为月周期后的 Series:")
print(s_period_month)
# 将 Series 转换为周期类型,频率为年
s_period_year = s.dt.to_period('Y')
print("\n转换为年周期后的 Series:")
print(s_period_year)
# 将 Series 转换为周期类型,频率为日
s_period_day = s.dt.to_period('D')
print("\n转换为日周期后的 Series:")
print(s_period_day)
输出结果
原始 Series:
0 2023-01-01
1 2023-01-02
2 2023-01-03
3 2023-01-04
4 2023-01-05
dtype: datetime64[ns]
转换为月周期后的 Series:
0 2023-01
1 2023-01
2 2023-01
3 2023-01
4 2023-01
dtype: period[M]
转换为年周期后的 Series:
0 2023
1 2023
2 2023
3 2023
4 2023
dtype: period[Y-DEC]
转换为日周期后的 Series:
0 2023-01-01
1 2023-01-02
2 2023-01-03
3 2023-01-04
4 2023-01-05
dtype: period[D]
通过上述示例可以看到,to_period 方法可以根据指定的频率将 datetime 类型的数据转换为相应的周期类型,从而便于进行时间周期的分析和操作。



















