## 日期时间处理 和 单极 索引处理
首先先导包
import pandas as pd
data = pd.read_csv('D:/city_temperature.csv',dtype= {'State':object})
如果直接用数组访问方式会有数据类型不匹配的问题
因为数据集的年月日都是int类型,你和一个字符相加 不能拼接
data['Date'] = data['Year'].astype(str) + '/' + data['Month'].astype(str)+'/' + data['Day'].astype(str)
用pandas包自带的datetime方法
data['Date'] = pd.to_datetime(data['Date'],format = '%Y/%m/%d',errors = 'coerce') # 大写Y四位数
其中如果当前方法准确来说是没有问题,但是少部分有问题的日期用errors =’coerce‘抑制
date数组访问方式可以用.dt属性来访问
data['Date'].dt.dayofweek
### 单级索引处理
默认情况下,pandas提供一个从0开始的自然数索引
可以自定义索引,其优点如下:
提供快速访问行列数据的机制
提高快速访问行列数据的机制
支持数据自动对齐功能
支持数据连接等复杂数据操作功能
data.query('City == "Shanghai"')
data['Shangahi','2013/1/1']
## 先了解reset_index()的作用:
将当前索引列复原为普通列,并重新指定一个默认索引
data.reset_index().reset_index()
set_index(,inplace = True) :设置索引列,将经常进行查询的列设置为索引列
data.set_index('City',inplace = True)
#基于索引的查询 data.loc[] 也可以使用 data.query('City==' 或 data.query('index =='))
data.loc 是基于索引的查询
data.iloc 是基于位置的查询,与索引无关
### 练习1:查询广州的所有记录
### 练习2:查询上海和广州的所有记录,只显示AvgTemperature
### 练习3:查询上海和广州的所有气温值大于30的数据,显示Date和AvgTemperature列
### 练习4:查询上海<font color=red>到</font>广州的所有数据
### 练习5:查询广州<font color=red>到</font>上海的所有数据