Pandas日期處理的作用:將2018-01-01肥照、1/1/2018等多種日期格式映射成統(tǒng)一的格式對象蒙揣,在該對象上提供強(qiáng)大的功能支持
image.png
幾個概念:
- pd.to_datetime:pandas的一個函數(shù),能將字符串陈肛、列表闻书、series變成日期形式
- Timestamp:pandas表示日期的對象形式
- DatetimeIndex:pandas表示日期的對象列表形式
其中:
- DatetimeIndex是Timestamp的列表形式
- pd.to_datetime對單個日期字符串處理會得到Timestamp
- pd.to_datetime對日期字符串列表處理會得到DatetimeIndex
一、統(tǒng)計得到每周涝影、每月枣察、每季的最高溫度
1、讀取天氣數(shù)據(jù)到dataframe
import pandas as pd
import matplotlib.pyplot as plt #畫圖需要的包
fpath = r"D:\node\nd\Pandas_study\pandas_test\beijing_tianqi_2018.csv"
df = pd.read_csv(fpath)
# 替換掉溫度的后綴℃
df.loc[:, "bWendu"] = df["bWendu"].str.replace("℃", "").astype('int32')
df.loc[:, "yWendu"] = df["yWendu"].str.replace("℃", "").astype('int32')
print(df.head())
image.png
2燃逻、將日期列轉(zhuǎn)換成pandas的日期
df.set_index(pd.to_datetime(df["ymd"]),inplace = True)
print(df.head())
print(df.index)
image.png
3序目、方便的對DatetimeIndex進(jìn)行查詢
獲取某個日期
a = df.loc["2018-01-01"]
print(a)
image.png
日期區(qū)間
b = df.loc["2018-01-05":"2018-01-10"]
print(b)
image.png
按月份前綴篩選
c = df.loc["2018-03"].head()
print(c)
image.png
按月份區(qū)間篩選
d = df.loc["2018-07":"2018-09"].index
print(d)
image.png
按年份前綴篩選
d = df.loc["2018"].index
print(d)
image.png
4、方便的獲取周唆樊、月宛琅、季度
獲取周
a = df.index.isocalendar().week
print(a)
image.png
獲取月
b = df.index.month
print(b)
image.png
獲取季度
c = df.index.quarter
print(c)
image.png
5、統(tǒng)計每周逗旁、每月嘿辟、每季的最高溫度
每周最高溫度
a = df.groupby(df.index.isocalendar().week)["bWendu"].max().head()
b = df.groupby(df.index.isocalendar().week)["bWendu"].max().plot()
plt.show()
print(a)
image.png
image.png
統(tǒng)計每個月最高溫度
b = df.groupby(df.index.month)["bWendu"].max().head()
c = df.groupby(df.index.month)["bWendu"].max().plot()
plt.show()
print(b)
image.png