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') # 將去重后的數據重新作為索引