📜  Python|熊猫 DatetimeIndex.to_period()(1)

📅  最后修改于: 2023-12-03 15:19:21.266000             🧑  作者: Mango

Python的DatetimeIndex.to_period()方法介绍

to_period()是Pandas中的DatetimeIndex方法之一,它将DatetimeIndex转换为PeriodIndex。PeriodIndex是一种特殊类型的时间戳,它代表了某个时间段(例如月份或季度)的开始或结束。使用PeriodIndex可以简化时间序列数据的分析和聚合。

语法
DatetimeIndex.to_period(self, freq=None, axis=0, copy=True)
参数说明
  • freq : str或pandas DateOffset对象,可选。默认为None。指定新PeriodIndex的频率。如果未指定,则使用DatetimeIndex的频率。例如,'D'表示将DatetimeIndex拆分为每天的PeriodIndex。
  • axis : {0或'index', 1或'columns'},可选。默认为0。如果axis=0,则将DatetimeIndex转换为PeriodIndex;如果axis=1,则将DataFrame的所有列转换为相应的PeriodIndex。
  • copy : bool,可选。默认为True。如果为True,则返回一个新的PeriodIndex。如果为False,则返回相同时间序列数据的更改反映在原时间序列数据上的PeriodIndex。
用法示例
import pandas as pd
import numpy as np

# 创建DatetimeIndex
dates = pd.date_range('2022-01-01', periods=5, freq='D')
df = pd.DataFrame(np.random.randn(5,2), index=dates, columns=['A', 'B'])
print(df)

# 使用DatetimeIndex的to_period()方法将时间序列转换为PeriodIndex
periods = df.index.to_period('M')
print(periods)

# 对于DataFrame,可以将axis参数设为1,将所有列转换为PeriodIndex
periods_df = df.to_period('M', axis=1)
print(periods_df)

输出结果:

                   A         B
2022-01-01  0.851181 -0.758762
2022-01-02  0.911051 -1.396723
2022-01-03 -0.007789 -0.676689
2022-01-04  0.018290  0.880588
2022-01-05 -0.506014 -1.271767

PeriodIndex(['2022-01', '2022-01', '2022-01', '2022-01', '2022-01'], dtype='period[M]', freq='M')

                A     B
2022-01-01  0.851 -0.76
2022-01-02  0.911 -1.40
2022-01-03 -0.008 -0.68
2022-01-04  0.018  0.88
2022-01-05 -0.506 -1.27