Pandas 教程-Pandas日期时间
整理:python架构师
DatetimeIndex
日期范围生成
本地化和转换
时区处理
时间序列操作
时间序列工具对于数据科学应用程序非常有用,并与Python中使用的其他包一起使用。
示例1: DatetimeIndex
下面的代码生成从'5/4/2013'开始的八个日期,频率为一秒。
# Python Program for Pandas datetime Libraryimport pandas as pd# Create the dates with frequencyinfo = pd.date_range('5/4/2013', periods = 8, freq ='S')# Display the generated sequence of datesinfo
DatetimeIndex(['2013-05-04 00:00:00', '2013-05-04 00:00:01','2013-05-04 00:00:02', '2013-05-04 00:00:03','2013-05-04 00:00:04', '2013-05-04 00:00:05','2013-05-04 00:00:06', '2013-05-04 00:00:07'],dtype='datetime64[ns]', freq='S')
👉点击领取:最全Python资料合集
示例2: 转换
下面的代码使用Pandas中的pd.to_datetime()函数,将具有年、月和日的单独列的DataFrame转换为单个日期时间格式。
# Python Program for Pandas datetime Libraryimport pandas as pd# Create a DataFrame with 'year', 'month', and 'day' columnsinfo = pd.DataFrame({'year': [2014, 2012],'month': [5, 7],'day': [20, 17]})# Convert the DataFrame columns to datetime formatpd.to_datetime(info)
0 2014-05-201 2012-07-17dtype: datetime64[ns]
示例3: 生成范围
下面的代码生成从'2017-06-04'开始的五个日期,频率为一秒。
# Python Program for Pandas datetime Libraryimport pandas as pdstart_date = '2017-06-04'num_periods = 5frequency = 'S'dates = pd.date_range(start=start_date, periods=num_periods, freq=frequency)# Display the generated sequence of datesdates
DatetimeIndex(['2017-06-04 00:00:00','2017-06-04 00:00:01','2017-06-04 00:00:02','2017-06-04 00:00:03','2017-06-04 00:00:04'],dtype='datetime64[ns]', freq='S')
示例4: 本地化
下面的Python日期时间代码将由变量'dmy'表示的日期时间序列的时区本地化为UTC,使用Pandas中的tz_localize()函数。
# Python Program for Pandas datetime Libraryimport pandas as pd# Localize the timezone of the 'dmy' datetime sequence to UTCinfo = dmy.tz_localize('UTC')# Display the updated datetime sequenceinfo
DatetimeIndex(['2017-06-04 00:00:00+00:00', '2017-06-04 00:00:01+00:00','2017-06-04 00:00:02+00:00','2017-06-04 00:00:03+00:00','2017-06-04 00:00:04+00:00'],dtype='datetime64[ns, UTC]', freq='S')
示例5: 时间序列操作
下面的代码用于执行时间序列操作,如滚动均值。
# Python Program for Pandas datetime Libraryimport pandas as pd# Create a sample DataFrame with datetime indexdata = {'Value': [10, 15, 8, 12, 9]}index = pd.date_range('2022-01-01', periods=5, freq='D')df = pd.DataFrame(data, index=index)# Perform rolling window calculation on the 'Value' columnrolling_mean = df['Value'].rolling(window=3).mean()# Print the DataFrame and rolling mean valuesprint("DataFrame:")print(df)print("Rolling Mean:")print(rolling_mean)
DataFrame:Value2022-01-01 102022-01-02 152022-01-03 82022-01-04 122022-01-05 9Rolling Mean:2022-01-01 NaN2022-01-02 NaN2022-01-03 11.0000002022-01-04 11.6666672022-01-05 9.666667Freq: D, Name: Value, dtype: float64
结论:
热门推荐