第十五节 pandas建立时间索引

import pandas as pd
pd.options.display.max_rows = 10  # 设置显示行数

df1 = pd.read_csv(r'E:\anacondatest\PythonData\PM25\Beijing_2009_HourlyPM25_created20140709.csv', encoding='gbk')

# 将数据转换成时间戳类型
pd.Timestamp(df1["Date(LST)"][0])

# 建立datetimeindex对象
df1idx = df1.set_index(pd.to_datetime(df1["Date(LST)"]))

# 基于索引的快速切片操作
print(df1idx["2018-11-1":"2018-11-5"])

# 对时间序列做基本处理
print(df1idx.index.hour)  # 直接取出索引的相应层级
df1idx.groupby(df1idx.index.month).max()  # 直接用groupby汇总

# 序列缺失值处理,使用reindex
df2idx = df1.set_index(pd.to_datetime(df1["Date(LST)"]))  # 设置索引
idx = pd.date_range(start='2009-2-1 00:00:00', end='2009-12-31 00:00:00')  # 自定义一个索引序列
df2idx.reindex(idx)  # 重置索引为自定义的索引
df2idx[df2idx.index.duplicated()]  # 数据查重
df2idx[~df2idx.index.duplicated()].reindex(idx, method='bfill')  # 将去重后的数据重新作为索引

猜你喜欢

转载自www.cnblogs.com/kogmaw/p/12563486.html
今日推荐